-1

簡単なことですが、なぜこれが機能しないのでしょうか...? jQuery 1.6.2 は、この上の head にも含まれています。検証をトリガーしていません。フィールドを検証することさえせずに、まっすぐ進み、「送信済み」と表示されます。

頭の中の検証:

<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/additional-methods.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#newcontract").validate({
    rules: {
        rec_name: {
            required: true
        }
    },
    messages: {
        rec_name: {
            required: 'You need to enter a contract receiver.'
        }
    },
    submitHandler: function() { 
    alert("Submitted!"); }
});
});
</script>

フォームは newcontract という名前なので、何が欠けていますか:

<form name="newcontract" id="newcontract" method="post">
    <input type="text" name="rec_name" id="rec_name" size="42" class="required"/>
    <tr><td class="submit" colspan="3"><input type="submit" name="savelisting" id="savelisting" value="Save New Contract" /></td></tr>
</form>

どうしたの?このテキスト フィールドは検証されません。ヘルプ!!

更新: 上記のコードは期待どおりに機能します。問題は、フォームをラップしていたテーブルを削除したことと、検証プラグインがフォームをスキップしていたことにありました。HTML でフォームをテーブルの外に移動するとすぐに、正常に機能しました。

4

1 に答える 1

3

trタグの使い方が悪い。

<form name="newcontract" id="newcontract" method="post">
<input type="text" name="rec_name" id="rec_name" size="42" class="required"/>
<p class="submit"><input type="submit" name="savelisting" id="savelisting" value="Save New Contract" /></p>
</form>

最初のステップとして、適切な html フォームを作成します。

于 2012-05-03T00:04:51.460 に答える