значение флажка в форме проверки, php

#php #javascript #html

#php #javascript #HTML

Вопрос:

Я изменяю форму входа в 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. Однако при использовании флажка я не знаю значения checkbox и unchecked, это 1 против 0 или !==»» vs ==»»??? и должен ли я использовать onBlur или onSubmit???

Как он должен изменять сценарии, чтобы он работал и для флажка? большое спасибо!

Ответ №1:

флажки используются .checked в dom, который является bool.

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

Ответ №2:

Вместо if(form.terms.value=="") сделайте это if(form.terms.checked==false)