2012-08-31 40 views
1

我無法讓我的表單驗證下面作出迴應,除非我輸入文本和標籤到下一個。點擊不同的字段或點擊提交什麼也不做,我希望它能在所有情況下做出迴應。老實說,這是我第一次使用jQuery的任何比啓用或禁用類更復雜的東西,所以我可能在某處發生基本錯誤。但我無法弄清楚它是什麼。無法觸發jQuery驗證插件點擊

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script> 

<script type="text/javascript"> 
    //form validation 
    $(document).ready(function() { 
     $("#form").validate({ 
      rules: { 
       organization: { 
        required: true, 
        minlength: 2, 
        }, 
       firstname: { 
        required: true, 
        minlength: 2, 
        }, 
       lastname: { 
        required: true, 
        minlength: 2, 
        }, 
       email: { 
        required: true, 
        email: true, 
        }, 
       phone: { 
        required: true, 
        minlength: 10, 
        number: true, 
        }, 
      }, 
      messages: { 
       organization: "Please enter a valid organization name", 
       firstname: "Please enter your first name", 
       lastname: "Please enter your last name", 
       email: "Please enter a valid email address", 
       phone: "Please enter a valid phone number", 
      }, 
     });   
    }); 
</script> 
</head> 
<body> 
<div id="form_container"> 
    <div id="form_title">REQUEST INFO</div> 
    <form id="form" name="form_container" action="#"> 
     <!-- fields --> 
     <input id="organization" type="text" name="organization" minlength="2" /> 
     <input id="firstname" type="text" name="firstname" minlength="2" /> 
     <input id="lastname" type="text" name="lastname" minlength="2" /> 
     <input id="email" type="text" name="email" /> 
     <input id="phone" type="text" name="phone" /> 
     <!-- submit button --> 
     <input type="button" id="button" name="submit" type="submit" value="submit" > 
    </form> 
</div> 
</body> 
</html> 

回答

0

你有你的2型屬性

<input type="button" id="button" name="submit" type="submit" value="submit" > 

更改提交按鈕,這

<input id="button" name="submit" type="submit" value="submit" /> 

這將導致按鈕提交表單,並觸發驗證插件中你期望的方式。此外,您的驗證配置對象在某些地方(在每個子對象的最後一個字段之後)會有一些額外的尾隨逗號,這些逗號可能會導致一些較舊的瀏覽器(特別是IE)發生故障。

+0

哇。謝謝你指出!在我專注於jQuery的時候,我完全忘記了仔細檢查我的html屬性。還要感謝關於逗號的提示。 –

+0

沒問題,有什麼機會可以接受它作爲答案? :) – mdellanoce

+0

完成。對不起......第一次實際上在求助於stackoverflow。 –

0

看看.focusin().focusout() jQuery事件方法。另一件你可能想要看的是.submit()方法,如果你打算在你實際執行提交之前訪問者點擊「提交」按鈕時做更多的驗證。

讓我知道你是否需要更多的指導或進一步的解釋/例子。祝你好運! :)

+0

謝謝!這表明我未來的交流方向正確 –

+0

總是樂於提供幫助。升級它,如果你認爲它會對別人有幫助:) –