jQuery事件+ HTML事件属性

时间:2009-08-14 14:31:01

标签: jquery events

我有一个带有这样的onsubmit属性的表单(我无法更改):

<form onsubmit="return validate(this);">

我想运行另一个函数,需要查看validate()的返回结果,然后可能返回false以阻止表单提交。

编辑:

onsubmit=""的内容可能会发生变化,因此我不能在我自己的函数中编写该代码。

2 个答案:

答案 0 :(得分:2)

您可以使用以下内容替换验证函数:

var oldValidate = validate;

var validate = function(form) {
  var value = oldValidate(form);
  //do your stuff here.
}

答案 1 :(得分:1)

在写这个问题时想出了以下内容,但我对更好的方式持开放态度:

// Grab the old function and remove it from the form
var oldSubmit = $('form').get(0).onsubmit;
$('form').get(0).onsubmit = null;

$('form').submit(function()
{
    // Use .call to make sure "this" is correct when the old function is run
    if (!oldSubmit.call($(this).get(0)))
        return false;

    // Do stuff

    return false;
});