11

JQuery 验证仅适用于提交的表单中的第一个元素,验证不会检查第二个元素。需要找出缺少的东西。交换 text1 和 date2 的输入,验证仍然适用于第一个。

<!DOCTYPE HTML>
<html lang="en-US">
<head><title>
</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.5.1.min.js'></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.js"></script>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.5.5/jquery.validate.min.js"></script> 
<script type="text/javascript" src="http://jquery-multifile-plugin.googlecode.com/svn-history/r16/trunk/jquery.MetaData.js"></script> 
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/themes/base/jquery-ui.css"/>

<script type="text/javascript">
    $(document).ready(function () {
        $("#form1").validate();

        $(".date").datepicker({
            changeYear: true,
            dateFormat: 'dd/mm/yy',
            minDate: new Date('1990/01/01'),
            maxDate: '30Y'
        });
    });
    function test() {
        alert(document.getElementById("datetext").getAttribute("must"));
    }        
</script>
</head>
<body>
        <form method="post" action="WebForm1.aspx" id="form1">
           Text:<font color="red">* </font><input id="Text1" class="lvl {required:true,messages:{required:'blank not allowed.'}}"  /><br />
            Select Date2:<font color="red">* </font><input id="date2"  class="date {required:true,messages:{required:'Required:Need to enter 2 date.'}}" readonly="true" /><br />
            <input type="submit" value="Submit"/>
        </form>
</body>
</html>
4

1 回答 1

32

确保在name您的输入中包含一个属性。我相信它使用该name属性来构建其验证字段列表,并且由于您没有指定name属性,jquery 验证认为第二个字段与第一个字段同名。

例如,<input id="Text1" name="Text1" />

于 2012-07-25T17:48:45.390 回答