使用jQuery验证单选按钮和复选框
我有这个表单,通过jQueryAjax发送,但我想验证字段。我知道如何验证正常的输入字段,但是单选按钮和复选框造成了麻烦。下面是我的代码,它验证表单并发送表单,并显示结果使用jQuery验证单选按钮和复选框,jquery,validation,Jquery,Validation,我有这个表单,通过jQueryAjax发送,但我想验证字段。我知道如何验证正常的输入字段,但是单选按钮和复选框造成了麻烦。下面是我的代码,它验证表单并发送表单,并显示结果 $(function() { $("#submit").click(function() { var kysymys1 = $.trim($("input.kysymys1").val()); if (kysymys1 == "") { alert('Täytä kaikki kentä
$(function() {
$("#submit").click(function() {
var kysymys1 = $.trim($("input.kysymys1").val());
if (kysymys1 == "") {
alert('Täytä kaikki kentät.');
return false;
}
var kysymys2 = $.trim($("input.kysymys2").val());
if (kysymys2 == "") {
alert('Täytä kaikki kentät.');
return false;
}
var kysymys3 = $.trim($("input.kysymys3").val());
if (kysymys3 == "") {
alert('Täytä kaikki kentät.');
return false;
}
var dataString = $('#service-test').serialize();
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "../quiz.php",
data: dataString,
dataType: "text",
error: function(){ alert ('Nyt jotakin meni kyllä pahemman kerran pieleen. Yritä uudelleen?');
},
success: function(data) {
$("#result").html(data);
$('#service-test').fadeOut('slow');
}
});
return false;
});
});
以及形式本身:
<div style="border:1px solid grey;">
<div id="result" style="padding:2%;"></div>
<form id="service-test" action="#" method="../quiz.php" style="padding:2%;">
Muuttuuko sivujen sisältö usein?
<input type="radio" name="muuttuminen" value="Kylla" class="kysymys1" /> Kyllä
<input type="radio" name="muuttuminen" value="Ei" class="kysymys1" />Ei
Mitä näistä voisit haluta sivuillesi?
<input type="checkbox" name="possiblecontent" value="Kuvagallerian" class="kysymys2" />Kuvagallerian
<input type="checkbox" name="possiblecontent" value="Pieni verkkokauppa" class="kysymys2" />Pieni verkkokauppa
<input type="checkbox" name="possiblecontent" value="Isompi verkkokauppa" class="kysymys2" />Isompi verkkokauppa
<input type="checkbox" name="possiblecontent" value="Jotain muuta" class="kysymys2" />Jotain muuta
Millaisen ulkoasun haluaisit?
<input type="radio" name="ulkoasu" value="Massasta erottuvan, uniikin ulkoasun" class="kysymys4" /> Massasta erottuvan, uniikin ulkoasun
<input type="radio" name="ulkoasu" value="Jotain muuta" class="kysymys3" /> Jotain muuta
<input id="submit" type="submit" /></form>
</div>
穆图科·西武詹·西斯阿尔特乌塞因(Muuttuuko sivujen sisältöusein)?
凯尔
工程安装
Mitänäistävoisit haluta sivuillesi?
库瓦加里安
皮埃尼·维尔科卡帕
伊索皮·维科卡帕
佐丹缪塔
米莱森·乌尔库森·哈卢阿西斯?
乌尔科阿松尤尼金埃洛图万按摩院
佐丹缪塔
然而,如果用户不愿意选择,验证部分不会做任何事情
这里还有一个JSFIDE:
您需要检查复选框/单选按钮是否已选中,而不是检查值 所以试试这个
if ($('input.kysymys1:checked').val() == 'false') {
alert('Täytä kaikki kentät.');
return false;
}
这会检查复选框是否已选中,如果未选中,则会发出警报
编辑
为什么不将其中一个单选按钮作为默认按钮选中?将单选按钮验证从
var kysymys1 = $.trim($("input.kysymys1").val());
if (kysymys1 == "") {
alert('Täytä kaikki kentät.');
return false;
}
到
但是复选框呢?如果我只选中一个复选框,它会发出警报。
if (!$(".kysymys1").is(':checked')) {
alert('Täytä kaikki kentät.');
return false;
}