2011-04-25 86 views
1

我有一個程序,允許用戶輸入一個郵政編碼來生成谷歌地圖。我想確保郵政編碼有效。爲此,我使用jquery validate方法。這裏是我的代碼看起來如何:JQuery驗證與郵政編碼

$('#zipInput').validator({ 
    format: 'zipUS', 
    invalidEmpty: true, 
    correct: function() { 
     //Code for correct 
    }, 
    error: function() { 
     //Error code here 
    } 
}); 

問題是,這不是爲我工作。我收到錯誤$('#zipInput').validator if not a function。我一直在尋找在線驗證方法的例子,我用這個link來構建我的代碼。我也在我的網頁上添加了jquery.validate.js(可能出現不正確來源的問題?)我可以看看哪些建議或示例來幫助解決我的問題?

編輯:這裏是所有的腳本我才能用:

<script src="jquery-1.5.1.min.js" type="text/javascript"></script> 
<script src="jquery-ui-1.8.11.custom.min.js" type="text/javascript"></script> 
<script type="text/javascript" src="jquery.jscrollpane.min.js"></script> 
<script src="mwheelIntent.js" type="text/javascript"></script> 
<script src="jquery.validate.js" type="text/javascript"></script> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script src="Default.js" type="text/javascript"></script> 
+1

我們是否必須假定該應用程序不應該在美國境外工作? – 2011-04-25 14:01:34

+0

我想這個應用程序可以在美國以外的地方工作,但它適用於位於美國的商店。郵政編碼用於生成附近商店的地圖。如果郵政編碼有效但不在美國(可能類似00000),那很好。我只需要輸入一個zip就可以了 – 2011-04-25 14:05:46

回答

1

你需要做至少兩件事情:之前

  1. 負荷的jQuery本身該插件。
  2. 將代碼放在jQuery.ready()結構中。

如果您已經這麼做了,請發佈所有相關代碼。

+0

如果在頁面加載後使用validate,我還需要使用'jQuery.ready()'嗎?這個郵政編碼表單位於一個對話框中,點擊一個按鈕後會彈出一個對話框 – 2011-04-25 14:24:30

+0

@ SsRide360 - 我會用不同的話來說:'$('#zipInput')''不會找到#zipInput,除非它存在的時候你運行它。 – 2011-04-25 15:07:37

0

您必須調用您在調用對話框的函數內寫入的驗證程序代碼。這是驗證器代碼在您正在加載的對話框中。

另一個想法是將驗證器代碼放入jquery.ready函數中,以加載對話框的形式存在,但這會爲該頁面添加一些冗餘代碼。

+0

移動呼叫仍然導致錯誤。如果我使用'.validate'而不是'.validator',則不會引發初始錯誤,但在嘗試輸入郵政編碼後,出現錯誤'.validator is undefined' – 2011-04-25 14:56:12