我在jQuery 1.6.2中使用了jQuery Validator插件。試圖在返回false時停止函數
我沒有驗證<form>
,但它本身只有一個孤立的字段。這是因爲有這一個頁面,從該一個字段是共享的,複製的價值等
的success
和invalidHandler
處理程序都正常工作基於我的規則在幾個獨特<form>
的。
var myValidate = function() {
$("#field").validate({
// rules, message, etc.
success: function(error){
// doing all kinds of things if this validates
return true;
},
invalidHandler: function(form, validator) {
// what to do if this fails validation
return false;
},
});
};
而且我沒有什麼關係,簡單地撥打以上myValidate
功能其他幾個功能...
$('#myElement1').click(function() {
myValidate; // call to "myValidate" to validate field
// doing stuff here only if "myValidate" returns true.
});
$('#myElement2').click(function() {
myValidate; // call to "myValidate" to validate field
// only do other things here if "myValidate" returns true.
});
$('#myElement3').click(function() {
myValidate; // call to "myValidate" to validate field
// and different things to do here only if "myValidate" returns true.
});
以上是我在做什麼一個非常基本的代表性和有沒有錯誤。
所有這些工作除了一件事...我的大腦。我似乎無法弄清楚如何根據myValidate
內的return true
或false
呼叫myValidate
停止/繼續流動第二功能。
我有它的方式,無論它返回true還是false,一切仍然執行。
任何人都可以好心解釋我做錯了什麼嗎?
也許你需要捕捉事件並執行一個preventDefault()? –
@KevinMcTigue,我不想停止事件的默認操作。我試圖根據'myValidate'函數的結果暫停其他函數中的後續行。 – Sparky
'myValidate'並不直接返回任何東西,它只是間接觸發回調,它可能會返回一些東西(但不會返回給myValidate的調用者)。或者我錯過了什麼? – deceze