我有一个带有这样的onsubmit属性的表单(我无法更改):
<form onsubmit="return validate(this);">
我想运行另一个函数,需要查看validate()
的返回结果,然后可能返回false
以阻止表单提交。
编辑:
onsubmit=""
的内容可能会发生变化,因此我不能在我自己的函数中编写该代码。
答案 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;
});