//
当我单击提交按钮时,应该检查接受复选框是否被选中,那么我有一些逻辑。如果拒绝复选框被选中,那么我有其他逻辑。
答案 0 :(得分:0)
这实际上归结为如何阻止事件执行其本机行为。
如果按下提交按钮,则将触发表单的submit
事件。因此,如果当时未选中您的复选框,则需要停止事件,该操作可以通过event.preventDefault()
完成。如果选中了此复选框,则不执行任何操作并允许提交。
这是一个例子:
// Get reference to the checkbox
let chk = document.querySelector("input[type='checkbox']");
// Set up event handler on the form
document.querySelector("form").addEventListener("submit", function(event){
// Check to see if the checkbox was not checked
if(!chk.checked){
event.preventDefault(); // Stop the submit event
alert("You must agree before continuing.");
return;
}
// If we get to this point in the code, the checkox was checked
// and the form will submit.
});
<form action="http://example.com" method="post">
<input type="checkbox" name="chkAgree"
id="chkAgree" value="agree">
I agree to the terms of this site.
<br>
<button>Submit</button>
</form>
答案 1 :(得分:0)
如果有复选框,您可能已经实现了只选中一个复选框,对吗?否则,可能会选中“接受并拒绝两个复选框”,
假设您已经实现了单选复选框逻辑
$( "form" ).submit(function( event ) {
event.preventDefault();
if($("input[type='checkbox']:checked")[0].val() == 'Allow'){
// things to done on allowed
}else if($("input[type='checkbox']:checked")[0].val() == 'Declined'){
// things to done on declined
}else{
// rest things
}
});
您可能需要稍微更改一些代码,但是在逻辑上将根据您的需要工作。