[英]live validation javascript not running in Internet Explorer
我正在嘗試使用名為LiveValidation的預構建javascript庫,該庫在您鍵入測試字段時會對其進行驗證。 該腳本在FireFox中運行良好,但根本無法在IE中運行。 我訪問了LiveValidation網站,該網站說它支持IE 6,7,8(我正在使用IE7),並且我已經確認啟用了Javascript。
這是指向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>
您可能應該將驗證代碼包含在一個函數中,然后在用戶鍵入文本字段時調用該函數。 例如...
<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可能只是通過猜測您打算編寫的代碼來幫助您。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.