我如何用javascript验证复选框?

时间:2018-06-07 18:08:28

标签: javascript validation

我是java脚本的新手。 我想验证带有复选框类型的输入。 我使用下面的代码进行验证。



<form onsubmit="return checkForm(this);">
    
    <input type="checkbox" name="terms" value="accept" id="accept" />
    
</form>
&#13;
&#13;
&#13;

         

&#13;
&#13;
    
            function checkForm(form) {
                alert('hello');
                if (form.terms!=check) {
                    alert("Please indicate that you accept the Terms and Conditions");
                    form.terms.focus();
                    return false;
                }
                return true;
            }
    
&#13;
 <form name="form1" id="form1" runat="server" onsubmit="return checkForm(this);">
 
<input class="farsi-font" type="checkbox" name="terms" value="accept" id="accept" style="color: #000" runat="server" />

 </form>
&#13;
&#13;
&#13;

然而我会收到警报(&#34;请表明您接受条款和条件&#34;);&#34;表单将发布到数据库。验证只是警告用户,并没有阻止表单post.any身体可以帮助我吗? 谢谢

2 个答案:

答案 0 :(得分:0)

不确定该代码的来源,但这是我的工作方式:

<input type="checkbox" name="terms" value="accept" id="accept" required />

请注意添加必需属性。

document.querySelector('#accept').setCustomValidity('Please accept the terms and conditions');

现在,当用户提交表单时,如果未选中此框,则会显示您的消息,表单将不会提交。您可以通过在提交处理程序中放置console.logdebugger语句来测试:

// Note that as I said in the comments, attaching the handler
// this way is preferable to using the onsubmit HTML attribute.
document.querySelector('#form1').addEventListener('submit', function(evt) {
  console.log('stop the presses!');
});

答案 1 :(得分:0)

试试这个:

HTML

<form onsubmit="return checkForm(event, this);">
  <input type="checkbox" name="terms" id="accept" />
</form>

JS

function checkForm(event, form) {
  event.preventDefault();
  if (!form.terms.checked) {
    alert("Please indicate that you accept the Terms and Conditions");
    return false;
  }
  return true;
}

修改

要仅使用html提交表单,您可以使用以下方法。

在表单中输入

<form onsubmit="return checkForm(event, this);">
  <input type="checkbox" name="terms" id="accept" />
  <input type="submit" value="Submit the form" />
</form>

外面有一个按钮。 (现在表单必须有id)

<form id="myForm" onsubmit="return checkForm(event, this);">
  <input type="checkbox" name="terms" id="accept" />
</form>
<button type="submit" form="myForm">Submit the form</button>