2012-02-16 2 views
1

У меня естьКнопка не работает в Chrome

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

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

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

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

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

+0

Я не вижу связи между вашей переменной 'mode' и вашей кнопкой' foo'? – Widor

+0

Извините, была моя ошибка. Я редактировал вопрос. – user897237

+0

Это не работает для меня в Firefox :) –

ответ

1

У вас нет котировки. Он должен выглядеть следующим образом:

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

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

От W3C specification:

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

+0

извините, была только опечатка. Я просто хочу отправить форму (эта работа, только значение пустое). Кнопка находится в форме-теге. – user897237

+0

См. Мое редактирование – NibblyPig

0

Вы должны привести свои атрибуты:

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

Кроме того, "представить" является зарезервированным словом в JavaScript. Если у вас есть функция «submit», она может не работать.

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

+0

извините, была только опечатка. я просто хочу отправить форму (эта работа, только значение пусто). – user897237

+0

submit() требует указания ссылки на форму: document.form1.submit() –

4

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

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

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

+0

Привет, спасибо за отзыв. Я изменил его, но он все равно не отправляет пару val name. – user897237

+0

Просто попробовал в IE, Chrome и Firefox, и он работает, так что должно быть что-то еще с вашим HTML. Как выглядит ваш тег FORM? –

0

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

<button name="foo" title="submit" alt="submit for contact" valeu="" onclick="submit()" >foobar</button> 
0

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

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

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

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

Смежные вопросы