当前位置:  开发笔记 > 编程语言 > 正文

当javascript在元素上调用提交时,jQuery覆盖表单提交不起作用

如何解决《当javascript在元素上调用提交时,jQuery覆盖表单提交不起作用》经验,为你挑选了2个好方法。

我有一个带有正常表单的页面,带有一个提交按钮和一些jQuery,它绑定到表单提交事件并覆盖它e.preventDefault()并运行一个AJAX命令.单击提交按钮但单击链接时,此工作正常onclick='document.formName.submit();',AJAX表单提交事件处理程序不会捕获该事件.任何想法为什么不能或如何在不绑定所有元素的情况下使其工作?



1> stechz..:

一些建议:

覆盖提交功能以进行恶意出价

    var oldSubmit = form.submit;
    form.submit = function() {
        $(form).trigger("submit");
        oldSubmit.call(form, arguments);
    }

为什么不绑定到所有标签?然后你不必做任何猴子修补,它可以像(假设所有链接都在form标签内)一样简单:

    $("form a").click(function() {
        $(this).parents().filter("form").trigger("submit");
    });


第一个例子中"形式"代表什么?

2> Eran Galperi..:

如果您使用的是jQuery,则应该通过它自己的事件机制附加事件,而不是使用"on"属性(onclick等).它还有自己的事件触发方法,恰当地命名为' trigger ',您应该使用它来激活表单提交事件.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有