validationasp.net中的单个复选框

我有一个表单,在用户勾选条款和条件复选框( chkTerms )之前不应该提交。 如果表单未被提交,阻止提交表单的最佳方法是什么?

我会在表单标记中调用JavaScript函数,但出于各种原因,它嵌入在我的母版页中,所以我认为这是不行的。 例如,这可以在jQuery中完成吗? 谢谢

在表单加载时禁用您的提交按钮。 仅在选中复选框时启用它,并在取消选中复选框时再次禁用它。

请查看以下示例:

  Terms and Conditions 

你的脚本function应该是

 function submitStatus(){ if(document.getElementById('chk').checked){ document.getElementById('btn').disabled = false; }else{ document.getElementById('btn').disabled = true; } } 

是的,在jQuery中这很容易:

 $(document).ready(function(){ $('#myform').submit(function(e){ // when the form is loaded if (!$('input[name="chkTerms"]')[0].checked) { // if the input with the name "chkTerms" is not checked e.preventDefault(); // prevent the form submission // provide feedback to the user in some way } } }); 

最好的方法是使用JQuery bcoz,如果你禁用一个按钮并仅启用复选框点击,用户可能不知道只有选中复选框才会启用该按钮。你可以使用上面提到的相同编码。

问题实际上是,一旦按钮被“启用”,我的所有其他validation都会被绕过并且表单仍会提交……