我有一个表单,在用户勾选条款和条件复选框(chkTerms
)之前不应该提交。如果表单未被提交,阻止提交表单的最佳方法是什么?
我会在表单标记中调用JavaScript函数,但由于各种原因,它嵌入在我的母版页中,所以我认为这是不行的。例如,这可以在jQuery中完成吗? 感谢
答案 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)
实际上问题是,一旦按钮被“启用”,我的所有其他验证都会被绕过而且表格仍会提交......