5

私は JQuery Validate プラグインを使用しており、この方法で入力を検証しています。フォームを一度送信した後、入力が無効としてマークされました。

値が別のフィールド「to」にリンクされているフィールド「from」があります。「from」が変更されたら、フィールド「to」を再検証するにはどうすればよいですか?

HTML:

<div id="fromPanel" class="inputPanel">
<label>From</label>
<div class="invalid valid" generated="true" for="from"></div>
<select id="from" class="campusChooser valid" required="required" name="from">
<option value="" disabled="disabled"> -- Choose a Campus -- </option>
<option selected="selected" value="UTSG">St. George</option>
<option value="UTM">Mississauga</option>
</select>
</div>
<div id="toPanel" class="inputPanel">
<label>To</label>
<div class="invalid" generated="true" for="to"></div>
<select id="to" class="campusChooser" required="required" name="to">
<option value="" disabled="disabled"> -- Choose a Campus -- </option>
<option value="UTSG">St. George</option>
<option selected="selected" value="UTM">Mississauga</option>
</select>
</div>

JS:

$(function () {
$("#to").change(function() {
var otherField = field == "to" ? "from" : "to", otherValue;
if (value == "UTSG") {
        otherValue = "UTM";
    } else if (value == "UTM") {
        otherValue = "UTSG";
    } else {
        otherValue = "";
    }

    $("#" + otherField).find("option[value='{0}']".format(otherValue)).prop("selected", true);
}); 
});
4

2 に答える 2

9

メソッドを使用して.valid()、検証テストをプログラムでトリガーできます。.valid()単一の入力要素またはフォーム全体にアタッチできます。

$('#myform').valid();

また

$('input[name="fieldName"]').valid();

呼び出す.valid()と、選択した要素の検証テストがすぐにトリガーされ、ブール値が返されます。

(注: validate()このメソッドを使用してフォームをチェックする前に、フォームで呼び出す必要があります。)

参照: http://jqueryvalidation.org/valid/

于 2013-07-24T20:42:11.480 に答える
0

特定のテキストボックスで検証を強制するには、 $('your selector').valid(); を実行するだけです。

于 2013-07-24T20:44:24.377 に答える