2012-04-02 19 views
0

我試圖使用一個名爲LiveValidation的預建的JavaScript庫,它會在您鍵入內容時驗證測試字段。該腳本在FireFox中運行良好,但它在IE中根本不起作用。我去了LiveValidation的網站,它說它支持IE 6,7,8(我正在使用IE7),並且我已經確認Javascript已啓用。生活驗證JavaScript未在Internet Explorer中運行

這是鏈接到JavaScript文件... http://livevalidation.com/download

這是HTML代碼,我使用驗證...

  <label>First Name<font style="color:#FF0000;">*</font> </label> 
      <input type="text" value="" name="first_name" id="first_name"/> 
      <script type="text/javascript"> 
      var f1 = new LiveValidation('first_name'); 
      f1.add(Validate.Presence,{failureMessage: " Please enter username"}); 
      f1.add(Validate.Format,{pattern: /^[a-z\s]+$/i ,failureMessage: " It allows only characters"}); 
      f1.add(Validate.Format,{pattern: /^[a-zA-Z][a-z\s]{0,}$/,failureMessage: " Invalid username"}); 
      f1.add(Validate.Length, { minimum: 4, maximum: 15 }); 
      </script> 
+0

如果您的問題已得到解答,或者不再有效,請勾選以選擇最合適的答案,以便大家都知道問題已得到解決。謝謝。 – wattostudios 2012-05-14 13:29:36

回答

0

你或許應該附上您的驗證碼一個函數,然後在用戶鍵入文本字段時調用該函數。例如...

 <script type="text/javascript"> 
     function doValidation(){ 
      var f1 = new LiveValidation('first_name'); 
      f1.add(Validate.Presence,{failureMessage: " Please enter username"}); 
      f1.add(Validate.Format,{pattern: /^[a-z\s]+$/i ,failureMessage: " It allows only characters"}); 
      f1.add(Validate.Format,{pattern: /^[a-zA-Z][a-z\s]{0,}$/,failureMessage: " Invalid username"}); 
      f1.add(Validate.Length, { minimum: 4, maximum: 15 }); 
      } 
     </script> 

     <label>First Name<font style="color:#FF0000;">*</font> </label> 
     <input type="text" value="" name="first_name" id="first_name" onKeyPress="doValidation()" /> 

所以,每次按下該文本框的關鍵,它會調用doValidation()和運行LiveValidator。我認爲IE瀏覽器正在做正確的事情,Firefox可能只是通過猜測你打算編碼的內容來幫助你。

相關問題