#html #ruby-on-rails-3 #forms #checkbox
#HTML #ruby-on-rails-3 #формы #флажок
Вопрос:
Я хочу отправлять форму, только если установлен флажок (в отличие от отправки формы через флажок)
Мне не нужно сохранять проверку флажка. Это похоже на «Я согласен с лицензионным соглашением бла-бла-бла»
Предпочитаю не использовать javascript для этого
Спасибо
Комментарии:
1. Я вижу 2 варианта: отправить и доказать, что, если флажок установлен, снова отобразить ту же форму с ошибкой проверки; используйте java script, чтобы отключить кнопку отправки, если флажок не установлен. Кто должен реализовать код, который не отправляет (у нас есть HTML-форма, в браузере нет кода ruby)?
Ответ №1:
Вы можете проверить, установлен флажок или нет, используя код, подобный этому:
var chkbox = document.getElementById('checkboxID');
if (chkbox.checked === true){
// it is checked, submit form
}
else {
// it is not checked, dont submit form
}
Комментарии:
1. могу ли я включить этот скрипт в блок формы?
2. @RailsN00b: Что вы подразумеваете под блокировкой формы?
Ответ №2:
Я решил проблему, используя validates :terms_of_service, :acceptance => true
в модели и добавив флажок в блок формы.
Это решило эту проблему быстро и просто.