Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet Explorer中未运行实时验证javascript_Javascript_Validation_Live - Fatal编程技术网

Internet Explorer中未运行实时验证javascript

Internet Explorer中未运行实时验证javascript,javascript,validation,live,Javascript,Validation,Live,我试图使用一个名为LiveValidation的预构建javascript库,它在您键入测试字段时对其进行验证。该脚本在FireFox中运行良好,但在IE中根本不起作用。我去了LiveValidation的网站,上面说它支持IE6,7,8,我正在使用IE7,我已经确认Javascript已经启用 这是指向Javascript文件的链接。。。 这是我使用验证程序的HTML代码 <label>First Name<font style="color:#FF0

我试图使用一个名为LiveValidation的预构建javascript库,它在您键入测试字段时对其进行验证。该脚本在FireFox中运行良好,但在IE中根本不起作用。我去了LiveValidation的网站,上面说它支持IE6,7,8,我正在使用IE7,我已经确认Javascript已经启用

这是指向Javascript文件的链接。。。

这是我使用验证程序的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>

您可能应该将验证代码封装在一个函数中,然后在用户键入textfield时调用该函数。例如

       <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()" />

因此,每次用户在textfield中按下一个键,它都会调用doValidation并运行LiveValidator。我认为IE做的事情是正确的,Firefox可能只是通过猜测您打算编写什么代码来帮助您。

如果您的问题已经得到回答,或者不再有效,请“勾选”以选择最合适的答案,这样每个人都知道问题已经解决。谢谢