代码之家  ›  专栏  ›  技术社区  ›  NoviceDeveloper

间歇发布两次。。使用IE

  •  1
  • NoviceDeveloper  · 技术社区  · 8 年前

    我曾遇到过这样的问题,即有时使用IE发布两次帖子。

    这是我在文件中准备好的内容。

     $(document).ready(function() {
            $("#myForm").submit(function () {
                e.preventDefault ? e.preventDefault() : (e.returnValue = false);
                e.stopImmediatePropagation();
            });
            Validatit();
        });
    

    从其中调用的验证。

     function Validatit() {
        var form = $("#myForm")
    
        $.validator.unobtrusive.parse(form);
    }
    

    最后但并非最不重要的按钮。

    <button id="submit" onclick="submitIt();">Submit items</button>
    

    submit submit只调用ajax。

    最初,我在按钮上键入=“submit”,然后在我的文档ready上添加了e.preventDefault。这似乎不起作用。

    您是否看到任何可能导致发布两次的内容。有时也会这样。

    在后端,我有MVC纯老式的实体框架。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Fre Timmerman    8 年前

    您正在使用HTML5按钮元素。此按钮的默认行为为提交,如W3规范所述,如下所示: W3C HTML5 Button

    因此,需要使用type=“button”显式指定其类型

    <button type="button" id="submit" onclick="submitIt();">Submit items</button>
    

    那么您甚至不需要e.preventDefault。(如果代码一开始就有错误,则需要将e作为参数传递给匿名函数回调)

    $("#myForm").submit(function (e) {