jQuery-validation 1.9.0和jQuery 1.7.1

时间:2012-01-24 02:08:13

标签: jquery jquery-validate

我使用jQuery 1.7.1在页面上设置了jQuery验证,如下所示。

<html>
<head>
    <script src="jquery-1.7.1.js" type="text/javascript"></script>
    <script src="jquery.validate-1.9.0.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#form1").validate();
        });
    </script>
</head>
<body>
    <form id="form1">
        <div>
            <p>
                <input id="form1input1" name="11" class="required" />
            </p>
            <p>
                <input id="form1input2" name="12" class="required email" />
            </p>

            <input type="submit" value="Validate form 1">
        </div>
    </form>
</body>
</html>

字段在提交表单时有效,但不在模糊/键盘上验证。

如果我为jQuery 1.3.2换掉jQuery 1.7.1,那么该插件的工作方式与模糊/ keyup验证有关。

这是兼容性问题吗?我在GitHub问题跟踪器https://github.com/jzaefferer/jquery-validation

中找不到任何错误/打开的门票

1 个答案:

答案 0 :(得分:6)

使用此组合,您必须type上指定input属性:

<form id="form1">
    <div>
        <p>
            <input id="form1input1" name="11" class="required" type="text" />
        </p>
        <p>
            <input id="form1input2" name="12" class="required email" type="text" />
        </p>

        <input type="submit" value="Validate form 1">
    </div>
</form>

示例: http://jsfiddle.net/5au9m/

插件作者(JörnZaefferer)建议这实际上是由于jQuery中发生的变化:

  

只要您的输入具有type属性,Afaik就可以正常工作。虽然没有类型属性的输入默认为文本,但jQuery并不这么认为并忽略它们。这是演示中的问题,见5f4a3a5和9050de7。

     

如果那也是你所看到的问题,请告诉我。

来源:Issue filed on github