Кнопка не работает в Chrome - PullRequest
1 голос
/ 16 февраля 2012

У меня есть

<button name="foo" value="bar" onclick="submit()" >foobar</button>

Когда я нажимаю кнопку в Firefox, значение передается (это foo), и я могу прочитать значение следующим образом:

dim mode                : mode                = lcase(request("foo"))  

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

Может ли кто-нибудь помочь?

Ответы [ 5 ]

5 голосов
/ 16 февраля 2012

Разные браузеры имеют разные стандартные способы отправки кнопок. Если вы хотите, чтобы кнопка отправила форму (и, следовательно, опубликовала ее имя и пару значений), вам придется использовать:

<button type="submit" name="foo" value="bar" >foobar</button>

Атрибут type для button может быть submit , button или reset и, если это не указано явно, будет варьируется от браузера к браузеру.

1 голос
/ 16 февраля 2012

У вас нет цитаты. Это должно выглядеть так:

<button name="foo" value="bar" onclick="submit()" >foobar</button>

Кроме того, submit () - это метод в форме, поэтому вы должны убедиться, что ваша кнопка находится внутри тегов <form></form>.

Из спецификации W3C :

Важно : если вы используете элемент в форме HTML, другой браузеры могут отправлять разные значения. Internet Explorer, предыдущая версия 9, отправит текст между тегами <button> и </button>, а другие браузеры будут отправлять содержимое атрибута value. Использовать <input> элемент для создания кнопок в форме HTML.

0 голосов
/ 19 февраля 2012

Из того, что я помню, старые версии IE (может быть, даже 8) обрабатывают только старый (старый) <input type="submit" /> как "настоящую" кнопку отправки, которая является частью формы, таким образом отправляя свое значение.Поэтому <button> в таких браузерах не будет отправлять его значение.

Измените HTML-код на этот, и он должен работать для всех браузеров:

<input type="submit" name="foo" value="foobar" onclick="this.value = 'bar';" />

Поскольку отправленное значение является видимым значениемМне пришлось использовать трюк JavaScript, чтобы изменить значение при клике - насколько я знаю, это невозможно сделать без использования скрипта на стороне клиента.

0 голосов
/ 16 февраля 2012

Если хотите, Google или другим пользователям будет легче найти вашу форму.Дайте кнопке заголовок и введите:

 <button name="foo" title="submit" alt="submit for contact" valeu="" onclick="submit()" >foobar</button>
0 голосов
/ 16 февраля 2012

Вы должны указать свои атрибуты:

<button name="foo" value="bar" onclick="submit()" >foobar</button>

Также "submit" - это зарезервированное слово в JavaScript.Если у вас есть функция с именем «submit», она может не работать.

Список зарезервированных слов: http://www.javascripter.net/faq/reserved.htm

...