2

ルール/メッセージ セットで jquery 検証を使用しようとしていますが、機能していないようです。JQuery は比較的新しいので、基本的な質問でしたら申し訳ありません。フォーム ID の代わりに document.forms[0] を使用しようとしています。フィールドに class="required" がある単純な検証では機能しますが、ルールを導入しようとすると機能しません。どんな助けでも大歓迎です。コードは次のとおりです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript" src="http://jzaefferer.github.com/jquery-        validation/jquery.validate.js"></script>
  <script>
  $(document).ready(function(){
    $(document.forms[0]).validate({
    rules: {
      cname: {
      required: true,
    }
    },
    messages: {
      cname: "Please enter a valid Name."
    },
  });
  });
  </script>

</head>
<body>


 <form class="cmxform" id="commentForm" method="get" action="">
 <fieldset>
   <legend>A simple comment form with submit validation and default messages</legend>
  <p>
     <label for="cname">Name</label>
     <em>*</em><input id="cname" name="name"/>
   </p>

   <p>
     <input class="submit" type="submit" value="Submit"/>
   </p>
 </fieldset>
 </form>
</body>
</html>
4

2 に答える 2

2

コメントが正しかったので、質問に答えると思います。

name属性も「cname」として入力してみてください。バリデーターはname属性を探します。

于 2012-12-18T17:18:00.443 に答える
2

idまず、フォームを ,でターゲットにすることができます#commentForm。次に、問題の根本的な原因は、属性inputによってフィールドを不適切にターゲットにしていたことです。idただし、.validate()プラグインは属性を探していnameます。この場合、たまたま"name". name以下の例では、わかりやすくするために属性の値を変更しました。

jQuery:

$(document).ready(function(){
    $('#commentForm').validate({
        rules: {
           username: {
               required: true
           }
        },
        messages: {
           username: "Please enter a valid Name."
        }
    });
});

HTML:

<form class="cmxform" id="commentForm" method="get" action="">

    <input type="text" id="cname" name="username" />

    ....

ワーキングデモ:

http://jsfiddle.net/egdEn/

詳細については、オンライン ドキュメントを参照してください。

于 2012-12-18T17:32:07.677 に答える