首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我有两个复选框“接受”、“拒绝”和“提交”按钮。当我点击submit按钮时,它应该会检查勾选了哪个复选框

我有两个复选框“接受”、“拒绝”和“提交”按钮。当我点击submit按钮时,它应该会检查勾选了哪个复选框
EN

Stack Overflow用户
提问于 2019-09-26 04:24:05
回答 2查看 104关注 0票数 0
代码语言:javascript
运行
AI代码解释
复制
{ field: "Accept", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.AcceptChk), "template": "<input type=\"checkbox\" # if (checkCommentsAccept(data.Comments)) { #disabled=\"disabled\" # } # />" },
{ field: "Decline", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.DeclineChk), "template": "<input type=\"checkbox\" # if (checkCommentsDecline(data.Comments)) { #disabled=\"disabled\" # } # />" },
{ field: "Item", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.Item) },
{ field: "PartID", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.PartID) },
{ field: "Description", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.Description), width: '300px' },
{ field: "SubPart", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.SubPart) },
{ field: "SubPartDescription", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.SubPartDescription) },
{ field: "BusinessPartner", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.BusinessPartner) },
{ field: "ReqDelTM", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.ReqDelTM) },
{ field: "EarDelTM", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.EarDelTM) },
{ field: "EarDelDate", title: "Ear Del Date", hidden: true },
{ field: "Comments", title: commonLib.readMessageByUserLanguage(COLUMNTITLENAME.Comments) }

当我点击submit按钮时,它应该检查accept复选框是否被选中,如果被选中,那么我有一些逻辑。如果选中了拒绝复选框,则我有其他一些逻辑。

EN

回答 2

Stack Overflow用户

发布于 2019-09-26 04:37:08

这实际上归结为如何阻止事件执行其本机行为。

如果按下submit按钮,则会触发表单的submit事件。因此,如果您的复选框当时没有被选中,您将需要停止该事件,这是通过event.preventDefault()完成的。如果复选框被选中,那么简单地什么也不做,并允许提交发生。

下面是一个例子:

代码语言:javascript
运行
AI代码解释
复制
// 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.

});
代码语言:javascript
运行
AI代码解释
复制
<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>

票数 0
EN

Stack Overflow用户

发布于 2019-09-26 05:22:06

如果有复选框,您可能已经实现了仅选中单个复选框,否则可能会选中接受和拒绝两个复选框,

假设您已经实现了单选复选框逻辑

代码语言:javascript
运行
AI代码解释
复制
$( "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 
  }
});

您可能需要稍微更改代码,但从逻辑上讲,它将根据您的需要工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58109531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文