2012-07-18 5 views
8

Xác thực JQuery chỉ hoạt động đối với phần tử đầu tiên trong biểu mẫu được gửi, Xác thực sẽ không kiểm tra cho mục thứ hai. Cần phải tìm hiểu những gì còn thiếu. Hoán đổi đầu vào cho văn bản 1 và ngày 2, xác thực vẫn còn hoạt động đối với văn bản đầu tiên.Xác thực JQuery chỉ hoạt động đối với phần tử đầu tiên trong biểu mẫu được gửi. [có ý định xác nhận tất cả]

<!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> 

Trả lời

27

Hãy chắc chắn bao gồm một thuộc tính name đến đầu vào của bạn. Tôi tin rằng nó sử dụng thuộc tính name để xây dựng danh sách các trường xác nhận hợp lệ và vì bạn chưa chỉ định thuộc tính name, xác thực jquery cho rằng trường thứ hai có cùng tên với trường đầu tiên.

Ví dụ, <input id="Text1" name="Text1" />

+0

Cảm ơn, có vấn đề này và chúng tôi đã bối rối, không biết mặc dù lý do tại sao nó không chỉ cần sử dụng các yếu tố thay vì trường tên. – bigcakes

+0

Bạn không có ý tưởng làm thế nào nhẹ nhõm tôi bằng cách tìm bài đăng này. Tôi đã đập đầu vào tường cố gắng tìm ra lý do tại sao quy trình duyệt tính hợp lệ của tôi không hoạt động đúng và chỉ đánh dấu phần tử không hợp lệ đầu tiên. tài liệu xác nhận jquery chính thức là crap, không có ý tưởng vấn đề sẽ được giải quyết dễ dàng bằng cách bao gồm một attr tên, lmao. – Nexus

+2

Tôi cũng đã mất thời gian. Vui lòng đánh dấu câu trả lời này là đã được chấp nhận. – Raffo