我正在修改一个php登录表单,添加javascript检查表单功能。我希望当用户勾选复选框时,表单为真,当复选框为空时,表单为假。代码如下:-
//the javascript
function check_sli(form,mark,edit){
if(mark==1 || mark=="all"){
if(form.terms.value==""){
sli_check_terms.innerHTML="Please read the terms and conditions first!";
sli_check_terms.style.height="auto";
return false;
}else{
sli_check_terms.innerHTML="";
sli_check_terms.style.display = "none";
}
}
}
//the form
<form name="form_sli" id = "form_sli" ACTION="<?php echo $loginFormAction1; ?>" METHOD="POST" onSubmit="return check_sli(form_sli,'all')">
<input type="text" name="login"/><br>
<input type="password" name="password"/><br>
<input name="terms" type="checkbox" id="terms" checked="checked" onBlur="check_sli(form_sli,1)">I have read the terms and conditions<br><div id="sli_check_terms" class="right"></div>
<input type="submit" name="button" id="button" value="Login" />
</form>
上述代码对文本字段正常工作,例如当文本字段为空时,会弹出innerHTML。然而,当使用复选框时,我不知道选中和未选中的值,是1 vs 0,还是!==" vs =="??我应该使用onBlur还是onSubmit??
它应该如何修改脚本,使其适用于复选框?thanksalot !
复选框在dom中使用.checked
,这是一个bool值。
if (form.terms.checked) {
... it's checked ...
}
用if(form.terms.checked==false)
代替if(form.terms.value=="")