Подтвердить что ты не робот

HTML Input Checkbox возвращает 'On' вместо "True" при отправке формы

У меня есть приложение MVC3, использующее Project Awesome (http://awesome.codeplex.com/), но я получаю странное поведение на флажках. У меня есть следующий простой Html внутри модального всплывающего окна <input type="checkbox" class="check-box" name="IsDeleted">

Когда я отправляю форму, содержащую этот элемент, ее значение post 'on' вместо ожидаемого "true" (когда элемент проверен).

Кто-нибудь знает, почему это? Я предполагаю, что может быть какой-то javascript где-то messing с данными формы, но хотел проверить, нет ли какого-то HTML-кода, которого я пропускаю.

Спасибо

4b9b3361

Ответ 1

Установите для флажков value атрибут value значение true, и вы получите true в своем значении post.

Ответ 2

Этот браузер специфический, я полагаю, что отправить, когда значение undefined. Вам необходимо определить атрибут value на ваших радио/флажках, чтобы быть уверенным, что будет передано вам. Я бы предложил value="1"

Ответ 3

установить data-val="true" and value="true" deafult... если флажок установлен, то возвращает true

Ответ 4

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

Ответ 5

В HTML добавьте флажок input = "hidden" выше:

<input name="active" id="activeVal" type="hidden">
<input id="active" type="checkbox">

Затем добавьте script, как показано ниже:

$('#activeVal').val($('#active').is(':checked'));
$('#active').change(function() {
     $('#activeVal').val($('#active').is(':checked'));
});

Когда вы делаете, например. $('#your-form').serialize() в jQuery, вы установите значение флажка, если отмечено active: true, или снимите флажок active: false

Ответ 6

Используйте jQuery для решения кросс-браузера. И все равно оно вернет true или false.

$('#check-box-id').attr('checked' ) == true

если ваш флажок имеет идентификатор check-box. Для вашей текущей версии используйте следующую (выберите по имени класса):

$('.check-box').attr('checked' ) == true

Ответ 7

Использовать jQuery

var out=$('.check-box').is('checked')

Если установлен флажок = true else out = false