2014-02-26 115 views
0

我試圖創建一個註冊表單。表單本身工作正常,但如果我嘗試驗證與jQuery的條目它不會顯示任何消息。我忘了什麼?jquery代碼驗證不會工作

jQuery的部分(剛剛與用戶名嘗試)

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#account_erstellen').validate({ 
     rules: { 
      Benutzername: { 
       required: true, 
       minlength: 5, 
       maxlength: 10 
      } 
     }, 
     message: { 
      Benutzername: { 
       required: 'Feld kann nicht leer sein', 
       minlength: 'Zu kurz', 
       maxlength: 'Zulang' 
      } 
     } 
    }); 
}); 

HTML部分

<form id="account_erstellen" method="post" action="mail/account_erstellen.php"> 
<p>Benutzername:<input name="Benutzername" type="text" size="65" maxlength="30"></p> 
<p>Emailadresse:<input name="Emailadresse" type="text" size="65" maxlength="30"></p> 
<p>Emailadresse wiederholen:<input name="Emailadresse_2" type="text" size="65" maxlength="30"></p> 
<p>Passwort:<input name="Passwort" type="password" size="65" maxlength="30"> </p> 
<p>Passwort wiederholen:<input name="Passwort_2" type="password" size="65" maxlength="30"></p> 
<input type="submit" title="Jetzt registrieren" value="Registrierung absenden"> 
</form> 

來源的jQuery的我從

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script> 
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script> 

在FF控制檯了我弄錯了我ssage「驗證器未定義」?搜索後,我只讀了我可能會加載錯誤的庫?

有什麼建議嗎?

+0

plz創建http://jsfiddle.net/ –

+2

爲我工作http://jsfiddle.net/DDS4X/ – Zword

+0

對我而言:http:// jsfiddle。net/5gFmU/ –

回答

-1

我試圖通過包括這些js文件生成相同的問題。

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script> 
<script src="http://jquery.bassistance.de/validate/additional-methods.js"></script> 

按我的知識,有可能是以下情況:

第一種情況,可能是你的validate.js無法正確載入。

第二種情況,可能是你在編寫js庫之前編寫了你的​​代碼,這就是爲什麼你的自定義代碼在加載js庫和搜索驗證方法之前被加載的原因,那時它將生成'jQuery.validator is未定義「的錯誤。

+0

-1,包括插件兩次如何解決任何事情? – Sparky

0

messages選項拼寫爲messages,而不是message,因爲您擁有它。

$(document).ready(function() { 
    $('#account_erstellen').validate({ 
     rules: { 
      Benutzername: { 
       required: true, 
       minlength: 5, 
       maxlength: 10 
      } 
     }, 
     message: { // <-- this should be spelled 'messages' 
      Benutzername: { 
       required: 'Feld kann nicht leer sein', 
       minlength: 'Zu kurz', 
       maxlength: 'Zulang' 
      } 
     } 
    }); 
}); 

否則,你的代碼工作:http://jsfiddle.net/FWbLq/


文件包括

可以包括<head>或HTML的<body>部分中的JavaScript文件。由於您的代碼被包含在一個document.ready事件處理程序函數中,哪個並不重要。但是,有理由相信在<body>部分末尾包含腳本時,頁面加載性能得到增強。

<!DOCTYPE html> 
<html> 
    <head> 
     <!--// your head content //--> 
    </head> 

    <body> 
     <!--// your html markup //--> 

     <!--// JavaScript file includes //--> 
     <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
     <script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script> 
     <script src="http://jquery.bassistance.de/validate/additional-methods.js"></script> 
    </body> 
</html> 

否則,您可以將它們包括在<head>這樣的...

<!DOCTYPE html> 
<html> 
    <head> 
     <!--// your head content //--> 

     <!--// JavaScript file includes //--> 
     <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
     <script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script> 
     <script src="http://jquery.bassistance.de/validate/additional-methods.js"></script> 
    </head> 

    <body> 
     <!--// your html markup //--> 
    </body> 
</html> 

jQuery庫本身總是加載任何的jQuery插件之前。 jQuery Validate插件必須在其additional-methods.js文件之前加載。

+0

好吧,我做了2次更改,但它仍然不會工作。不知道爲什麼,因爲我昨天嘗試了一些像fadeOut的其他jQuery功能,這工作正常... – Dave

+0

@ user3115267,你可以看到它的工作在我的jsFiddle。 OP中沒有任何內容可以告訴我們任何相關的信息。 – Sparky