Safari / Chrome не публикует значения при изменении с помощью Javascript

У меня есть несколько скрытых элементов формы:

<input type="hidden" name="numberOfAdults" />

Затем у меня есть функция onsubmit, которая выполняет некоторое сложение и помещает сумму в скрытые поля:

form.numberOfAdults.value = numAdults;

Форма отправляется в зависимости от того, возвращает ли эта функция значение true или false. Когда форма отправлена, IE7 + и Firefox показывают измененное значение из функции onsubmit. Safari и Chrome этого не делают. Однако, если я дам скрытые входные значения по умолчанию:

    <input type="hidden" name="numberOfAdults" value="2" />

Затем значение передается. Почему Safari и Chrome игнорируют эти измененные значения?

РЕДАКТИРОВАТЬ: вот полный код: http://jsfiddle.net/2q8SX/


person Jarred    schedule 08.02.2011    source источник
comment
Не могли бы вы опубликовать свою функцию?   -  person Nimrod    schedule 08.02.2011
comment
Зарегистрирована ли эта функция через eventlistener? или атрибут onclick? форма и код функции были бы хороши   -  person david.wosnitza    schedule 08.02.2011
comment
Необходимо увидеть код isset   -  person kirilloid    schedule 08.02.2011
comment
@kirilloid Добавлен код для isset.   -  person Jarred    schedule 08.02.2011
comment
Я действительно смущен. Не могли бы вы также добавить форму html? Вы можете вставить его в jsfiddle.net.   -  person kirilloid    schedule 08.02.2011
comment
@kirilloid Вот код: jsfiddle.net/2q8SX Проблема возникает, когда вы выбираете более одной комнаты с разное количество взрослых / детей в каждой комнате. После отправки в оповещении будет указано, сколько у вас взрослых / детей. Это значение будет перенесено в IE / Firefox, но не в Chrome / Safari.   -  person Jarred    schedule 08.02.2011
comment
Этот код у меня нормально работает в Google Chrome 4.1.249.1045 (42898) и Safari 4.0.4 (531.21.10), WinXP. Да, на несколько комнат тоже. Тем не менее, я обнаружил несколько ошибок в вашем коде: ‹script lang_a_ge .. и‹ script lang_aua_ge ... В конце концов, просто добавьте значение = 0 во входные данные.   -  person kirilloid    schedule 08.02.2011


Ответы (1)


просто дикая догадка:

дайте свою кнопку отправки:

onclick="yourFunction(); return false;"

и добавьте в свою функцию () в качестве последней команды:

document.getElementByTagName('form').submit();
person david.wosnitza    schedule 08.02.2011