我写了一个用于验证表单的jquery插件。它将自己绑定到$('element')。提交事件以触发验证(绑定在插件内)。不知怎的,这样:
// pseudocode
jquery.rdy {
$('form').validate(); //binding the plugin
}
在验证插件内部,我将验证绑定到提交
//pseudocode
[...]
$().submit(function () {
validating... //returning true/false
if (false) {
return false //prevent submit form
}
}
[...]
所以现在我的问题是我如何将(例如在其他js脚本中)其他东西绑定到提交,但只是验证完成。
所以喜欢这个
$('form').submit(function () {
if (validate plugin was executed) {
//do stuff like check if validation was returning a true and now do something else
}
}
希望我说得对...我的英语不是最好的,但我试着尽可能具体(我希望,伪代码也是正确的方法)
//编辑:让问题更具体: 我正在试图找到解决以下问题的方法:(它非常出于上下文,但问题恰恰就在那里......) 我有一个提交事件,它根据在另一个decleration中触发的某些代码执行某些操作。
$('element').submit(function () {
if ($(this).hasClass('foo')) {
// do something
}
});
$('element').submit(function () {
$(this).addClass('foo');
});
现在第一个功能是什么都没做,因为它在第二个功能之前被触发了。有没有一个干净的方法来解决这个问题。也许我需要一个超时事件(即使我讨厌它们)?
答案 0 :(得分:1)
如果您使用的是jQuery.Validate(看起来您使用的是.validate()语法),则只需调用 isValid()方法:
if (validate plugin was executed) {
然后可以
if ($('form').isValid()) {