У меня есть форма поиска, где по умолчанию установлены несколько флажков. Когда форма отправляется в виде GET, URL будет содержать только список флажков, которые были оставлены отмеченными.
http://www.example.com/page/?checkbox1=yes&checkbox2=yes
В этом сценарии сложно определить разницу между тем, когда пользователь впервые попадает на эту страницу поиска, и когда он отправляет форму, когда все флажки сняты, поскольку строки запроса выглядят одинаково.
Чтобы решить эту проблему, я начал вводить скрытое поле перед флажком с тем же именем и значением «нет». Если флажок снят, браузер будет отправлять скрытое поле без значения, а когда флажок установлен, браузер переопределяет скрытое поле со значением флажка «да».
<input type="hidden" name="checkbox1" value="no" />
<input type="checkbox" name="checkbox1" value="yes" />
когда пользователь отправляет форму со всеми снятыми флажками, я получаю эту строку запроса:
http://www.example.com/page/?checkbox1=no&checkbox2=no
Кажется, это работает на ff, chrome, ie5.5 +, так что я могу использовать этот метод или есть лучший способ заставить флажки отправлять подобные входные данные и выбирать?