我想驗證一些使用Jq的複選框組,但我不知道我在做什麼錯。Jquery複選框驗證
我使用相同的代碼來驗證其他形式(而不是複選框和工作正常。
form.php的
<form id=frm_ch>
<td><input type="checkbox" name="g1" id="h1" value="1" /></td>
<td><input type="checkbox" name="g1" id="d1" value="2" /></td>
<td><input type="checkbox" name="g1" id="a1" value="3" /></td>
<td><input type="checkbox" name="g2" id="h2" value="1" /></td>
<td><input type="checkbox" name="g2" id="d2" value="2" /></td>
<td><input type="checkbox" name="g2" id="a2" value="3" /></td>
<td><input type="checkbox" name="g3" id="h3" value="1" /></td>
<td><input type="checkbox" name="g3" id="d3" value="2" /></td>
<td><input type="checkbox" name="g3" id="a3" value="3" /></td>
validate.js
//global vars
var frm_ch = $("#frm_ch");
var g1 = $("name=g1");
var g2 = $("name=g2");
var g3 = $("name=g3");
var cInfo = $("#cInfo");
frm_ch.submit(function(){
if(valG1() & valG2() & valG3()){
var g1 = $("name=g1").attr('value');
var g2 = $("name=g2").attr('value');
var g3 = $("name=g3").attr('value');
//validate functions are all the same so I am posting just one:
function valG1(){
//if it's NOT valid
if($('input[name=g1]:checked').size() == 0){
cInfo.text("Please check a Checkbox");
cInfo.addClass("error");
return false;
}
//if it's valid
else{
cInfo.text("");
cInfo.removeClass("error");
return true;
}
}
爲什麼你使用複選框和推杆相同的名字!請使用收音機而不是複選框或嘗試更改名稱爲g1 []而不是g1 – HADI 2012-07-13 05:54:10