家族に「別の大人を追加」したい場合などに、HTMLのブロックを動的に追加するフォームがあります。
各フィールドに一意の名前を付けたいので、カウンターを使用しています。最初の成人の名フィールドは「firstName1」、2番目の「firstName2」などです。
フィールドにカスタムメッセージを追加したいので(そしてValidateプラグインにはmessages()メソッドがありません)、HTMLがDOMに追加された直後にルールを追加しようとしています。
これはテキスト入力では正常に機能しますが、選択した要素に対してエラーをスローします-'TypeError:disundefined'。
例えば:
$("input[name='city" + counter + "']").rules("add", {required:true, messages: {required:"Please enter a city."
}});
... 正常に動作します。だが ...
$("input[name='state" + counter + "']").rules("add", {required:true, messages: {required:"Please enter a state."
}});
...選択ボックスを識別し、エラーをスローします。
動作は一貫しています。追加されるいくつかの選択があり、上記の方法でそれらのいずれかにルールを追加すると、エラーがスローされます。
すべての選択ボックスには「」の値を持つ初期オプションがあるため、必要な検証は正しく機能するはずです。
しかしもちろん、チャンスはありません。ルールが追加されると、エラーがスローされます。
なぜこれが起こっているのか誰かが知っていますか?