jQuery сериализирует, не регистрирует флажки

Я использую jQuery.serialize для получения всех полей данных в форме.

Моя проблема состоит в том, что это не делает retriev флажков, который не проверяется.

Это включает это:

<input type="checkbox" id="event_allDay" name="event_allDay" class="checkbox" checked="checked" />

но не это

<input type="checkbox" id="event_allDay" name="event_allDay" class="checkbox" />

Как я могу получить "значения" флажков, который не проверяется?

72
задан Steven 12 June 2010 в 19:37
поделиться

3 ответа

jQuery serialize точно имитирует то, как стандартная форма будет сериализована браузером перед добавлением к строке запроса или телу POST в запросе. Неотмеченные флажки не включаются браузером, что действительно имеет смысл, потому что они имеют логическое состояние - они либо выбраны пользователем (включены), либо не выбраны пользователем (не включены).

Если вам нужно, чтобы он был в сериализованном виде, вы должны спросить себя: «Почему? Почему бы просто не проверить его наличие в данных?».

Имейте в виду, что если способ сериализации данных формы в JavaScript отличается от того, как это делает браузер, то вы исключаете любую возможность постепенного ухудшения качества формы. Если вам все еще необходимо это сделать, просто используйте поле