Я хочу уведомить пользователей, отвечающих на форму, если какая-либо из опциональных переключателей останется без ответа перед отправкой (чтобы убедиться, что они были пропущены преднамеренно).
Моя проблема заключается в том, что, хотя я устанавливаю оператор if с несколькими условиями, оператор if возвращает true, когда выполняется любое из условий, а не когда все они выполняются. Я использую jQuery 1.7.1.
Javascript:
$("#optmsg").show();
function updateFormEnabledOpt() {
if (verifyOpt()) {
$("#optmsg").hide();
} else {
$("#optmsg").show();
}
}
function verifyOpt() {
if ($("#formidable input:radio[name='q11']:checked").val() !== 'undefined' && $("#formidable input:radio[name='q12']:checked").val() !== 'undefined' && $("#formidable input:radio[name='q13']:checked").val() !== 'undefined') {
return true;
} else {
return false;
}
}
$('#formidable input:radio[name="q11"]').change(updateFormEnabledOpt);
$('#formidable input:radio[name="q12"]').change(updateFormEnabledOpt);
$('#formidable input:radio[name="q13"]').change(updateFormEnabledOpt);
Итак: как только у любого из трех вопросов будет установлен флажок, #optmsg будет скрыт.
Jsfiddle (с небольшим количеством html для скрипта): http://jsfiddle.net/rnPA6/
ОБНОВЛЕНИЕ: Спасибо за помощь! С невероятной скоростью могу добавить! Вот рабочая скрипка: http://jsfiddle.net/rnPA6/14/