Button для сабмита. Нужна помощь.

php html IE form button

Я только начинаю программировать, столкнулся с такой проблемой в IE (опять IE, как можно было создать это чудовище :), неважно)
есть форма у неё две кнопки (button, не input) - обе сабмитят. Opera и FireFox понимают valuet, но IE берёт value не токторые стоит в теге, а то что стоит между тегами. Поясняю примером:
<form method="get" action="do.php" name="subscribe_form">
<dl>
<dt><input name="address" value="" type="text"></dt>
<dd><button type="submit" name="do1" value="value1">Действие1</button></dd>
<dd><button type="submit" name="do2" value="value2">Действие2</button></dd>
</dl>
</form>
и если на нажатие button'а в Oper'e и FireFox'e do1=value1, то в IE же do1=Действие1

Как же мне в IE получить do1? Как мне узнать в PHP, что нажата первая кнопка, а не вторая?
Очень прошу помочь. Только нужны именно button, не input.
Спасибо, даю 30 былов.
Ответы:
используй input type="submit",  а не button type="submit"
нужны BUTTON'ы !!!! Потому что на портале 6 языковых версий, и чтобы не делать 12 картинок (минимум!) нужны баттоны. Для них прописанный стили через CSS.
с input'ами всё понятно. Пробюлема с button'ами
<form method="get" action="do.php">
<input type="text" name="address"><br>
<input type="submit" name="do1" value="Действие1"><br>
<input type="submit" name="do2" value="Действие2"><br>
</form>
возможно не стоит использовать dt и dd для позиционирования удобнее table
можно написать небольшой JavaScript  который будет подменять action формы при нажатии буттона, чтото типа
up:  если нельзя менять дизайн, то делайте
if(isset($_GET['do1'])){}
elseif(isset($_GET['do1'])){}...
Я предлагаю такой вариант:
<form method="get" action="do.php" name="subscribe_form">
<input id="submited_by" name="submited_by" value="" type="hidden">
<dl>
<dt><input name="address" value="" type="text"></dt>
<dd><button type="submit" name="do1"  onClick='document.getElementById("submited_by").value=this.name'>Действие1</button></dd>
<dd><button type="submit" name="do2"  onClick='document.getElementById("submited_by").value=this.name'>Действие2</button></dd>
</dl>
</form>
смотреть в $_GET['submited_by'], только без JS работать не будет.
А разве в PHP нельзя проверить то, установлен ли ключ или нет? Кроме того, какая разница, какой браузер (!!!), ведь всё-равно генерится URL?
To Цыба:
проблема в том, что Опера выдает URL http://localhost:1957/Site/!TRASH!/do.php?address=something_to_do&do1=Action1
А вот IE:  http://localhost:1957/Site/!TRASH!/do.php?address=something_to_do&do1=Действие1&do2=Действие2 при нажитии любой кнопки.
Предлагаю вариант :)
<form method="get" action="do.php" name="subscribe_form1">
   <dl>
       <dt><input name="address" value="" type="text"></dt>
       <dd><button type="submit" name="do1" value="value1">Действие1</button></dd>
   </dl>
</form>
<form method="get" action="do.php" name="subscribe_form2">
   <dl>
       <dd><button type="submit" name="do2" value="value2">Действие2</button></dd>
   </dl>
</form>
По крайней мере получишь в URL только один параметр do1 или do2 :)
Эти URL я брал из IE 7.
Спасибо  bjaka.max. Класное решение :)
Спасибо  Natrix. address не попадает во вторую форму
avokado,
ничего здесь идиотсткого не вижу. Например, лично я 100% возьму на заметку это issue IE 6.
2 Цыба
Идиотство в том что все браузера работает по какому-то стандурату, а IE отшелничает. Что потом сам признал, раз изменил в 7ой версии этот явный баг.
А использывание этой "фитчи" дело подозрительное - для чего? если это будет работать только на умирающих броузрерах. Чем эти юзеры отличаються от других пользователей? зачем что-то использовать только дня них.
Ну если только сообщить что у них умирающий браузер - и пусть скачают себе новый!
avokado,
я от том, что ты назвал тему идиотской. Это ты зря. Я же говорю, что мне она кажется довольно-таки полезной, и она может предостеречь от неожиданных результатов на IE <7. А то, что IE часто "выё", например, используя визуальные фильтры (конечно, поддерживаемых только на самом IE) вместо нормальной поддержки CSS-свойства opacity или совсем криво отображая .PNG-файлы с альфа-каналом, пусть будет на совести разработчиков IE.


17 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.