Internet Explorer中未运行实时验证javascript



我正在尝试使用一个名为LiveValidation的预建javascript库,该库在您键入测试字段时对其进行验证。该脚本在FireFox中运行良好,但在IE中根本不起作用。我去了LiveValidation的网站,那里说它支持IE6,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-zs]+$/i ,failureMessage: " It allows only characters"});
            f1.add(Validate.Format,{pattern: /^[a-zA-Z][a-zs]{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-zs]+$/i ,failureMessage: " It allows only characters"});
            f1.add(Validate.Format,{pattern: /^[a-zA-Z][a-zs]{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可能只是通过猜测你想要编码什么来帮助你。

相关内容

  • 没有找到相关文章

最新更新