簡體   English   中英

實時驗證JavaScript無法在Internet Explorer中運行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM