2011-11-04 26 views
0

我正在修改一个php登录表单,并在其中添加了javascript check form函数。我希望当用户勾选复选框时,表单为真,当复选框为空时,表单将变为false。代码是这样的: -复选框值在检查窗体中,php

//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比0还是!==“”vs ==“”?并且我应该使用onBlur还是onSubmit?

它应该如何修改脚本以使其对复选框起作用?非常感谢!

回答

0

复选框在dom中使用.checked,这是一个布尔值。

if (form.terms.checked) { 
    ... it's checked ... 
} 
0

代替if(form.terms.value==""),做到这一点if(form.terms.checked==false)