首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询OnSubmit问题

查询OnSubmit问题
EN

Stack Overflow用户
提问于 2016-06-29 16:02:43
回答 3查看 134关注 0票数 0

我遇到了一个错误,使用下面的查询是代码的片段:

代码语言:javascript
复制
  $('form[action="/home/service/"]').on("click", (function(event) {
    if ($("#id1").val() == "" && $("#id2").val() == "") {
      alert("Invalid entry");

      event.preventDefault();

    } else {
      $('form[action="home/service/"]').submit();
    }
  });

然而,event.preventDefault();的工作方式是它应该提交的。我尝试过使用.off(“单击”,函数);但是这没有起作用,而且是同一个问题。

一旦preventDefault()方法被激发,一旦问题解决了,我就无法重新提交表单了?我见过一些人遇到这种情况,但他们的解决办法并没有解决我的问题。

UPDATE --这是我现在所拥有的,但是我仍然在收到这个问题,问题是当我试图重新提交时,当我试图重新提交时,提交按钮似乎被锁定了,有人遇到过这个问题吗?下面是我更新的代码:

代码语言:javascript
复制
//function on 
function checkForm(event)
{
debugger;
 if ($("ID1, ID2" ).val() != "" ){ 

return;  
}

else{
event.preventDefault();  
$("#alerts-row").html("<div class='alert_box red'><p>Please Ensure that you have filled in at least one item number below!</p></div>");

 $('form[action="Form"]').unbind("submit", checkForm);
}
}

 $('form[action="form"]').on("submit", checkForm);

谢谢,

加维

EN

回答 3

Stack Overflow用户

发布于 2016-06-29 16:07:57

试着把它放在if语句之前

代码语言:javascript
复制
$('form[action="/home/service/"]').on("click", (function(event) {
        event.preventDefault();
        if ($("#id1").val() == "" && $("#id2").val() == "") {
          alert("Invalid entry");

        } else {
          $('form[action="home/service/"]').submit();
        }
      });
票数 0
EN

Stack Overflow用户

发布于 2016-06-29 16:08:31

我认为正确的方法是使用提交事件。如果您这样做,那么在验证失败时,您将preventDefault (就像您已经做的那样),而在成功时,您不会阻止默认设置。

没有什么可以阻止您对简单调用form.submit()的元素进行单击事件,但是您可能应该考虑使用一个可以自动提交的元素。

票数 0
EN

Stack Overflow用户

发布于 2016-07-01 09:44:16

为了解决我正在进行的问题,我们使用了不显着的验证,在一些示例的帮助下,我们能够创建or语句,并允许我们在表单上发布正确的验证。

代码语言:javascript
复制
$(document).ready(function(){
    // Register new validation adapter
    $.validator.unobtrusive.adapters.addBool('minimumselect');

    // Add validator to controls
    $input = $("#Input1");
    $input.attr('data-val', 'true');
    $input.attr('data-val-minimumselect', 'Please provide either this or Number 2');

    $input2 = $("Input2");
    $input2.attr('data-val', 'true');
    $input2.attr('data-val-minimumselect', 'please provide this or Ref Number 1');

    // Refresh form - needed to pick up new validator
    refreshFormValidators();
});

谢谢,

理查德

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

https://stackoverflow.com/questions/38104771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档