2012-08-24 32 views
3

以下腳本將在未聚焦時顯示錯誤消息。我將它更改爲jQuery 4.3或更新版本,但它不這樣做。我知道我在做一些愚蠢的事情,但找不到它。請提供建議。感謝jquery.validate與jquery-1.4.3無法正常工作

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> 
     <title>jQuery validation</title> 
     <script src="http://code.jquery.com/jquery-1.4.2.js"></script> 
     <script src="jquery.validate.js" type="text/javascript"></script> 
     <script src="additional-methods.js" type="text/javascript"></script> 

     <script type="text/javascript"> 
      $(function(){ 
       var validate = $("#signupForm").validate({ 
        rules: {phone:'phoneUS'}, 
        messages: {phone:'Enter a valid phone number'}, 
        submitHandler: function(form) {alert('submit');} 
       }); 

      }); 
     </script> 
    </head> 
    <body> 

     <form id="signupForm" method="get" action=""> 
      <label for="phone">phone</label> 
      <input id="phone" name="phone" /> 
      <input type="submit" value="Submit" class="submit" /> 
     </form> 
    </body> 
</html> 
+1

什麼版本o f jQuery驗證你正在使用?最近的jQV版本通常需要最新版本的jQuery。 –

+0

jQuery驗證插件1.9.0。什麼是瘋狂的,我以前做過,知道它的工作原理。 – user1032531

+0

當你改變jQuery的版本時,它是否被加載?可能看起來像一個愚蠢的問題,但不止一次,我看到有人聲稱jQuery更新打破了他們的網站,只是發現jQuery沒有被加載。 – MrOBrian

回答

2

phoneUS方法在additional-methods.js定義。如果包含該文件(並確保您的輸入有type='text'),它應該很好地工作:

的JavaScript:

$("#signupForm").validate({ 
    rules: { 
     phone: 'phoneUS' 
    }, 
    messages: { 
     phone: 'Enter a valid phone number' 
    }, 
    submitHandler: function(form) { 
     alert('submit'); 
    } 
}); 

HTML:

<form id="signupForm" method="get" action=""> 
    <label for="phone">phone</label> 
    <input id="phone" name="phone" type="text"/> 
    <input type="submit" value="Submit" class="submit" /> 
</form>​​​​​​​​​​​​​​​ 

例子:http://jsfiddle.net/kzDnx/5/

+0

哈哈,我知道我犯了一個愚蠢的錯誤!謝謝! – user1032531