Jump to content
  • 0

<input type='image'> есть проблема.


kalcifer
 Share

Question

У меня проблема с кроссбраузерностью. Помогите решить.

Имею код

<input type='image' src='buttons/edit.png' name='BTN_EDIT' value='Правка' title='Править' class='gbutton' />

Все красиво и зашибись, но только в мазилле.

Нет, отображается все красиво во всех браузерах, спасибо CSS. Проблема с восприятием потом этой формы в php

isset($_POST['BTN_EDIT']) - равен 1 только если навигация через браузер файерфокс.. В других браузерах получается, что кнопка не передается.

$_POST['BTN_EDIT'] - равен 'Правка' только если навигация через браузер файерфокс, в других браузерах значение - пустота.

В то же время, если вводную форму записывать как

<input type='submit' src='buttons/edit.png' name='BTN_EDIT' value='Правка' title='Править' class='gbutton' />

То и в файерфоксе и в других браузерах на выходе будет

isset($_POST['BTN_EDIT']) == 1

$_POST['BTN_EDIT'] == 'Правка'

Поэтому вопрос, что делать? Ведь нарушать дизайн сайта убогими сабмитами совсем не хочется.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

По стандарту, насколько я в курсе, должны передаваться две переменные — BTN_EDIT.x и BTN_EDIT.y, с координатами места клика. Можно ориентироваться по ним. Хотя у "убогого сабмита" тоже можно убрать рамку, скрыть текст и подложить свой фон (хотя в старых браузерах с этим приходилось повозиться)...

Link to comment
Share on other sites

  • 0

вообще-то убогий как раз принцип первичности дизайна.

А значит и <input type=image>, как существующий именно ради такого подхода, убог до неприличия.

Ключевые слова: сброс стилей, свойство css background.

Link to comment
Share on other sites

  • 0
Вставьте скрытое поле и проверяйте, отправлено оно или нет.

Это еще зачем? Для простой проверки, отправлена ли форма, в PHP достаточно !empty($_POST), а вообще проверять надо те поля, с которыми предстоит работать, а не какие-то "левые". Но тут, насколько я дотелепал, нужно своё действие для каждой из кнопок...

Link to comment
Share on other sites

  • 0
По стандарту, насколько я в курсе, должны передаваться две переменные — BTN_EDIT.x и BTN_EDIT.y, с координатами места клика. Можно ориентироваться по ним. Хотя у "убогого сабмита" тоже можно убрать рамку, скрыть текст и подложить свой фон (хотя в старых браузерах с этим приходилось повозиться)...

$_POST['BTN_EDIT.x'] - так?

Вставьте скрытое поле и проверяйте, отправлено оно или нет.

не канает

<form тратата>

<input type=hidden тратата - описание свойств формы, страницы, паспорта модера, если надо и тд>

<input type=image - таких тут штук 18, каждая для своего. Что-то утвердить, что-то удалить, что-то поправить и тд. Частично форма модерская>

Так что наличие скрытого поля ничего не даст. Надо из одной формы выбрать переменную кнопки, которая нажата.

вообще-то убогий как раз принцип первичности дизайна.

А значит и <input type=image>, как существующий именно ради такого подхода, убог до неприличия.

Ключевые слова: сброс стилей, свойство css background.

Ну наверное как единственное решение. Реализовать его правда сложнее.

На счет убогости дизайна - ну на вкус и цвет.

design.JPG

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy