2014-02-07 32 views
26

我的腳本拋出錯誤:

TypeError: jQuery.validator is undefined additional-methods.js:20 TypeError: $(...).validate is not a function index.php:115

也許,我有錯誤的jQuery代碼。

<head> 
<script type="text/javascript" src="js/jquery-1.10.2.js"></script> 
<script type="text/javascript" src="js/jquery.form.js"></script> 
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script> 
</head> 
<body> 
      <form id="registerForm" method="post" action="logrej.php"> 
      <input name="login" type="text"/> 
      <input name="nick" type="text"/> 
      <input type="password" id="passw" name="password"/> 
      <input type="password" name="retype" /> 
      <input type="submit" value="Zarejestruj!" /> 
      </form> 
      <script> 

       $("#registerForm").validate({ 
        rules: { 
         login: { 
          required:true, 
          rangelenght: [4,20], 
          remote:"look.php" 
         }, 
         nick : { 
          required:true, 
          rangelenght:[4,20], 
          remote:"look.php" 
         }, 
         password: { 
          required:true, 
          rangelenght:[4.20] 
         }, 
         retype: { 
          required:true, 
          equalTo:"#passw" 
         } 
        }, 
        messages:{ 
         login:{ 
          required:"To pole jest wymagane!" 
         } 
        } 
       }) 

      </script> 
+2

你有一個幾行錯字:'rangelenght'應該是'rangelength'。 – Barmar

回答

60

你不加載驗證插件。您需要:

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script> 

將此放在加載其他方法的行之前。

此外,您還應該從CDN獲得其他方法,而不是jquery.bassistance.de。

其他錯誤:

[4.20] 

應該

[4,20] 

rangelenght: 

應該是:

rangelength: 
0

它看起來像JavaScript錯誤你得到的可能是被

password: { 
    required:true, 
    rangelenght:[4.20] 
}, 

由於[4.20]造成的應該是[4,20],我猜在additional-methods因而令是擺脫驗證碼輸入錯誤是你發佈的。

編輯:正如其他人在下面的評論已經指出rangelenght也拼錯& jquery.validate.js庫似乎缺少(假設它在你的其他資產之一不是編譯)

+0

我不認爲這會引發發生的typeerror。但如果不修復,它可能會在稍後導致問題。 –

+0

他在'rangelenght'中也有一個錯字。 – Barmar

+0

我最初並沒有將jquery.validate.js記錄下來,思考的問題更可能是問題(或者至少是引發這些警告的問題,而rangelengtht拼寫和[4.20]可能不會有幫助反正:p)。 – Carl

0

你不包括基本jQuery驗證庫:

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script> 

把那之前的其他方法庫。 (順便說一句,這是一個託管版本,下載你自己,如果你想)

0

對我來說,通過改變http://ajax解決的問題......到https://ajax ...(新加的S到http)

https://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js 
相關問題