防止引导模态在提交按钮单击时关闭

约翰·杜

我有一个引导模态。当用户单击“更新”按钮时,它将进行ajax调用以更新数据库。但是,如果由于某种原因更新失败,我想显示错误消息并使模式保持打开状态。

一切似乎都按照我期望的顺序运行,但是e.preventDefault()似乎并没有阻止模式关闭。

为什么preventDefault()不停止按钮提交?

我的按钮:

<button type="submit" class="btn btn-success" id="btnUpdate" style="margin-right:10px">Update</button>

Javascript按钮单击代码。

$("#btnUpdate").on("click", function (e) {
    // reset the message...
    $("#errorMessage").html("");

    // get the value...
    var myParam = $("#someSelection").attr("someData");
    var myParamData = JSON.parse(myParam );

    updateData(myParamData.Name)
    .done(function (result) {
        if (!result.d == "") {
            $("#errorMessage").html(result.d);
            e.preventDefault();
        }
        else {                     
          loadData();
        }
    });
});
扎卡里亚·阿查尔基(Zakaria Acharki)

只需更改按钮的类型即可button阻止提交:

<button type="button" class="btn btn-success" id="btnUpdate" style="margin-right:10px">Update</button>

希望这可以帮助。


更新 :

为了在使用ajax提交时受益于HTML5验证,可以使用checkValidity()方法。

HTMLSelectElement.checkValidity()方法检查元素是否具有任何约束以及是否满足约束。如果该元素未能通过其约束,则浏览器将在该元素上引发可取消的无效事件,然后返回false。

因此您的代码将是:

$("#btnUpdate").on("click", function (e) {
  // reset the message...
  $("#errorMessage").html("");

  if($("form")[0].checkValidity()) {
    // get the value...
    var myParam = $("#someSelection").attr("someData");
    var myParamData = JSON.parse(myParam );

    updateData(myParamData.Name)
      .done(function (result) {
      if (!result.d == "") {
        $("#errorMessage").html(result.d);
        e.preventDefault();
      }
      else {                     
        loadData();
      }
    });
  }else{
    console.log("invalid form");
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

防止单击按钮时打开引导模态

来自分类Dev

单击表单提交按钮时触发远程引导程序模态,然后显示远程模态内容吗?

来自分类Dev

如何防止引导模态在使用Codeigniter提交的表单上关闭?

来自分类Dev

单击提交按钮以进行引导模态和parsley.js验证后,如何防止页面重新加载?

来自分类Dev

单击按钮时如何防止表单提交?

来自分类Dev

单击按钮时如何防止表单提交?

来自分类Dev

引导模态防止右键单击

来自分类Dev

防止在单击按钮时关闭XUL notificationBox

来自分类Dev

单击叠加或关闭按钮时是否关闭模态?

来自分类Dev

单击按钮时不触发引导程序模态-jQuery

来自分类Dev

防止引导模式窗口在表单提交时关闭

来自分类Dev

单击按钮后关闭模态

来自分类Dev

单击按钮后关闭模态

来自分类Dev

单击主体时关闭模态

来自分类Dev

如何知道引导程序模式关闭时单击了哪个按钮?

来自分类Dev

再次单击菜单按钮时,引导菜单未关闭

来自分类Dev

防止在单击提交按钮时刷新我的jsp页面

来自分类Dev

Typescript,防止单击按钮时关闭 Bootstrap Dropdown

来自分类Dev

用户单击提交按钮时需要发布并关闭窗口

来自分类Dev

用户单击提交按钮时需要POST并关闭窗口

来自分类Dev

在LinkButton单击内部模态后防止Boostrap模态关闭

来自分类Dev

单击后禁用按钮或立即关闭模态

来自分类Dev

防止(非引导)Modal Popup 在按钮提交后立即关闭,并显示消息

来自分类Dev

如果按钮未放置在模态体内,则关闭引导模态

来自分类Dev

如果按钮未放置在模态体内,则关闭引导模态

来自分类Dev

在VueJS / NuxtJS中单击外部时防止Buefy / Bulma模态关闭

来自分类Dev

当用户在 JQuery UI 中的模态对话框之外单击时,如何防止模态对话框关闭?

来自分类Dev

单击href Laravel时显示引导模态

来自分类Dev

当用户在加载到新页面之前多次单击“提交”按钮时,防止多次提交

Related 相关文章

  1. 1

    防止单击按钮时打开引导模态

  2. 2

    单击表单提交按钮时触发远程引导程序模态,然后显示远程模态内容吗?

  3. 3

    如何防止引导模态在使用Codeigniter提交的表单上关闭?

  4. 4

    单击提交按钮以进行引导模态和parsley.js验证后,如何防止页面重新加载?

  5. 5

    单击按钮时如何防止表单提交?

  6. 6

    单击按钮时如何防止表单提交?

  7. 7

    引导模态防止右键单击

  8. 8

    防止在单击按钮时关闭XUL notificationBox

  9. 9

    单击叠加或关闭按钮时是否关闭模态?

  10. 10

    单击按钮时不触发引导程序模态-jQuery

  11. 11

    防止引导模式窗口在表单提交时关闭

  12. 12

    单击按钮后关闭模态

  13. 13

    单击按钮后关闭模态

  14. 14

    单击主体时关闭模态

  15. 15

    如何知道引导程序模式关闭时单击了哪个按钮?

  16. 16

    再次单击菜单按钮时,引导菜单未关闭

  17. 17

    防止在单击提交按钮时刷新我的jsp页面

  18. 18

    Typescript,防止单击按钮时关闭 Bootstrap Dropdown

  19. 19

    用户单击提交按钮时需要发布并关闭窗口

  20. 20

    用户单击提交按钮时需要POST并关闭窗口

  21. 21

    在LinkButton单击内部模态后防止Boostrap模态关闭

  22. 22

    单击后禁用按钮或立即关闭模态

  23. 23

    防止(非引导)Modal Popup 在按钮提交后立即关闭,并显示消息

  24. 24

    如果按钮未放置在模态体内,则关闭引导模态

  25. 25

    如果按钮未放置在模态体内,则关闭引导模态

  26. 26

    在VueJS / NuxtJS中单击外部时防止Buefy / Bulma模态关闭

  27. 27

    当用户在 JQuery UI 中的模态对话框之外单击时,如何防止模态对话框关闭?

  28. 28

    单击href Laravel时显示引导模态

  29. 29

    当用户在加载到新页面之前多次单击“提交”按钮时,防止多次提交

热门标签

归档