我有两个复选框“接受”和“拒绝”,然后提交按钮。当我单击提交按钮时,应检查选中了哪个复选框

时间:2019-09-26 04:24:05

标签: javascript jquery kendo-grid

//

当我单击提交按钮时,应该检查接受复选框是否被选中,那么我有一些逻辑。如果拒绝复选框被选中,那么我有其他逻辑。

2 个答案:

答案 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 
  }
});

您可能需要稍微更改一些代码,但是在逻辑上将根据您的需要工作。