javascript
  • jquery
  • validation
  • input
  • 2012-07-18 9 views 8 likes 
    8

    JQueryの検証は、送信されたフォームの最初の要素に対してのみ機能し、検証では の2番目の要素はチェックされません。欠けているものを見つける必要があります。 text1とdate2の入力を入れ替えます。まだ有効なのは です。JQuery検証は、送信されたフォームの最初の要素に対してのみ機能します。 [すべてを検証する]

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

    答えて

    27

    あなたの入力にname属性を必ず含めてください。私はname属性を使用して検証フィールドのリストを作成し、name属性を指定していないので、jqueryの検証では、2番目のフィールドは最初のフィールドと同じ名前だと考えられます。例えば

    <input id="Text1" name="Text1" />

    +0

    おかげで、この問題を持っていて、私達は困惑した、それだけで要素の代わりに、名前フィールドを使用していない理由けれども全く分かりません。 – bigcakes

    +0

    あなたはこの投稿を見つけることで私がどれだけ安心しているか分かりません。私は、私の検証ルーチンがなぜ正しく動作せず、最初の無効な要素だけが強調表示されているのか把握しようと、壁に向かって頭を叩きました。正式なjquery検証文書は駄目ですが、名前attr、lmaoを含めることによって問題が簡単に解決されることは考えられませんでした。 – Nexus

    +2

    私はこれでも少し時間を失ってしまった。この回答に合格とマークしてください。 – Raffo

    関連する問題