验证asp.net中的单个复选框

时间:2011-01-11 12:59:54

标签: javascript asp.net jquery

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

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

5 个答案:

答案 0 :(得分:2)

是的,在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
        }
    }
});

答案 1 :(得分:2)

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

检查以下示例:

<input type="submit" id="btn" disabled="true" value="Submit"/>
<input type="checkbox" id="chk" onchange="submitStatus();">Terms and Conditions</input>

,你的脚本功能应该是

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

答案 2 :(得分:0)

答案 3 :(得分:0)

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

答案 4 :(得分:0)

实际上问题是,一旦按钮被“启用”,我的所有其他验证都会被绕过而且表格仍会提交......