繁体   English   中英

如何防止JS提交程序化表单?

[英]How do I prevent a programmatic form submit from JS?

我有一个调用form.submit()的外部库。 无论我做什么,当它被直接调用时,我似乎无法捕捉到这个事件。

例如: http//jsfiddle.net/cwolves/yXsWc/

您是否尝试拦截submit()调用本身而不是拦截事件? 您可以执行一些操作,例如使用您选择的一个替换默认的submit()函数,只有在设置了某个标志时才提交。 例如:

var formElem = document.getElementById("myForm");
formElem.oldSubmit = formElem.submit;
formElem.submit = function(myFlag) {
    if (myFlag) {
        document.getElementById("myForm").oldSubmit();
    }
};

这可能有点黑客攻击,但您可以解除该特定元素的click事件,然后重新绑定它以您希望的方式工作。

$('button').unbind('click').click(form.onsubmit);

的jsfiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM