2009-12-04 77 views
0

我正在使用原型,需要在成功驗證後調用我的函數。代碼原型:驗證後調用自定義函數

部分:

var validator = new Validation(this.form); 

這將驗證表單,但我不知道該怎麼稱呼我的功能trackForm後的驗證是正確的,形式submited。

任何幫助?

回答

1

我需要更多的細節來回答,至少會嘗試。 我假設你正在使用PrototypeJS - 庫。這個庫默認不支持驗證,所以你可能使用另一個庫。

如果您使用Dexagogo的驗證(http://tetlaw.id.au/view/javascript/really-easy-field-validation),您將需要使用onFormValidate回調。

我從來沒有使用它,但假設你基本上像正常情況下設置驗證,並增加了額外的屬性。就像這樣:

var validator = new Validator(this.form, {onFormValidate: trackForm}); 
var trackForm = function (validationPassed, form) { 
    if (validationPassed) { 
    form.reset(); 
    } 
} 

OFC你不需要創建trackForm,但寫成你提到它。

希望這有些幫助。

-1

我明白原來的問題並沒有提到這個平臺,但我在Magento平臺上廣泛搜索解決方案後發現了這個問題。

對於那些通過Magento和Magento的VarienForm使用Prototype的人,有一種簡單的方法可以不使用任何其他驗證庫。

驗證程序在初始化時附加到窗體,並且onFormValidate方法是驗證程序上的選項。

您可以訪問是如下:

this.form.validator.options.onFormValidate = function(validationPassed, form) {}; 

參見下面的例子中,我已經爲我自己的方式進行測試,發現它的工作原理完全如預期:

var contactForm = new VarienForm('contactForm', true); 
contactForm.validator.options.onFormValidate = function(validationPassed, form) { 
    if(validationPassed){ 
     alert("Validation Passed"); 
    } 
}