如何在Javascript onload中捕获表单提交?

时间:2011-07-15 13:36:55

标签: javascript jquery submit onload

我有第三方系统,我可以在其中添加文章(使用(原始)html)。一个页面包含一个搜索表单,它自己发布一个帖子。加载后(发布后)它将使用javascript添加javascript提交表单 - 例如

function redir() {
   document.myform.submit();
}
.... //some other stuff here
redir();

我不会详细介绍设计(我知道为什么它是这样设计但不能改变它 - 它的糟糕设计,我知道!)。

有没有办法抓住这个“onload”提交?

我试过这个:

var sform = document.getElementsByName('myform');
try {
    sform.addEventListener("submit", alert('Gotcha!'));
} catch(e) {
    sform.attachEvent("submit", alert('Gotcha!')); //Internet Explorer
}

jQuery:

$('myform').submit(function() {
    alert('Gotcha!');
    return false;
});

我似乎无法抓住这个事件。我可以覆盖该方法:

redir = function(){
    //Empty - override
}

...但在我的脚本加载之前触发了提交操作,或者它将覆盖我的重写方法。

我希望这是有道理的。

2 个答案:

答案 0 :(得分:3)

你的jQuery很接近。你只需要在基于id的选择器之前使用#,就像在CSS中一样。

$('#myform').submit(function() {
    alert('Gotcha!');
    return false;
});

答案 1 :(得分:0)

您是否在正确的位置覆盖了该功能?以下内容适用于我并停止提交。

function redir() {
    document.myform.submit();
}

redir = function(){}

redir();

Demo