2010-11-18 60 views
0

我的問題與此類似:Call javascript function from jquery success;但我沒有使用AJAX。JQuery新手:從JQuery內部調用Javascript函數驗證

很簡單,我正在驗證表單(只是郵政編碼)作爲Google Maps網絡應用程序的一部分。驗證碼是這樣的:

$(document).ready(function($) 
{ 
    $("#clientInput").validate 
    ({ 
    debug: true, 

    rules:{zipcode: {required:true, minlength:5, maxlength:10, digits: true}}, 

    messages: {zipcode: {required: "You need to provide at least a zipcode.", minlength: "Please enter at least 5 digits", maxlength: "You've entered too many digits, please re-enter."}}, 


    }); 

    searchlocations(); 
}); 

大膽的函數調用是什麼阻撓本我,這是對谷歌地圖API函數的調用,但它永遠不會被調用。 Google Map JavaScript在此代碼之前加載(雖然它在單獨的文件中),但在添加驗證代碼之前,我通過提交按鈕的onclick()事件調用了該函數。

我怎樣才能得到這個函數調用窗體的成功驗證?

TIA!

回答

1

您需要使功能submitHandler進行驗證。

1

查克是對的;這裏有一個例子,以幫助,但:

$(document).ready(function($) 
{ 
    $("#clientInput").validate 
    ({ 
    debug: true, 

    rules:{zipcode: {required:true, minlength:5, maxlength:10, digits: true}}, 

    messages: {zipcode: {required: "You need to provide at least a zipcode.", minlength: "Please enter at least 5 digits", maxlength: "You've entered too many digits, please re-enter."}}, 

    submitHandler: function() { 
      searchlocations(); 
    } 

    }); 

}); 

如果你只需要調用searchLocations,你可以把它甚至只需直接分配searchLocations功能簡單:

submitHandler: searchLocations 
+0

謝謝大家,我非常欣賞幫幫我。 – 2010-11-18 18:24:40

+0

不幸的是,當我嘗試攻擊的例子(剪切和粘貼只是爲了確保我沒有輸錯任何東西),我得到一個錯誤,指出searchlocations沒有定義。我再次檢查,包含該函數的文件在驗證代碼之前由頁面加載,所以我有點困惑爲什麼我得到這個錯誤。 – 2010-11-18 18:41:49

+0

這聽起來像是無法找到searchLocations函數,這意味着searchLocations可能嵌套在某處。 searchLocations函數如何以及在哪裏定義? – attack 2010-11-19 06:49:42