Ответ 1
Флажок просто отправляет свой атрибутvalue
. Непроверенный флажок не отправляет себя в форму.
Поэтому простой тест, если атрибут checkbox name
был отправлен, может определить, был ли он проверен или нет.
Привет У меня есть html-форма, которую я отправляю через событие click на кнопке. Событие запускает $( "# myform" ). Submit(); проблема в том, что есть флажок в форме и в firebug под опубликованными параметрами, который показывает "mycheckbox1 on", а не ожидаемый "mycheckbox1 true".
при отправке формы через ajax я могу установить данные, которые отправлены без проблем, но эта форма имеет загрузку файла, для которой требуется один из различных хаков. Тот, который я использую, в конечном итоге вызывает submit. но, возможно, это не имеет значения.
В любом случае, когда данные поступают на сервер, сервер не видит значение "on" как bool и, таким образом, игнорирует его.
Любое понимание будет принята с благодарностью.
value
. Непроверенный флажок не отправляет себя в форму.
Поэтому простой тест, если атрибут checkbox name
был отправлен, может определить, был ли он проверен или нет.
Да, разные браузеры могут обрабатывать флажки по-разному, когда значение не задано.
Вы можете установить атрибут значения флажка явно на "true", как ваш сервер понимает его, когда флажок установлен, и он отправляется на него. Поскольку Алекс намекнул в своем ответе, флажок не будет отправлен, если он не установлен, поэтому я предполагаю, что в этом случае сервер по умолчанию будет false.
Попробуйте выбрать или отправить значение checked
с помощью формы:
$("input:checked").val()