フォームに2つの非表示の入力フィールドがあり、jqueryの検証ルールにリンクしています。これらは「グローバル」フォームルールの一種です(たとえば、複数のフィールドの合計が100%でないなど)。フォーム全体に適用されるメッセージを表示するために、フォームの上部に隠しフィールドを使用しています。jQueryの検証では、最初の隠された入力要素の検証のみですか?
彼らはこのように定義されています。ここでは
<input type="hidden" class="futuretotalsunder"/>
<input type="hidden" class="futuretotalsrequired"/>
は私のルール定義されています。あなたはそれのアイデアを得ることができます。最初のルールは、テキストボックスの束が合計で< 100までであるかどうかをチェックし、2番目のチェックで合計が0でないことを確認します。問題は、発生する唯一のものが、最初に隠された入力要素。第二のものは決して発火しない。どんな考え?
$.validator.addMethod("futuretotalsunder", function (val, element, params) {
alert("under");
var total = 0;
$(".TransferPercentTextBox").each(function() {
total = total + parseInt($(this).val());
});
if ((total < 100) && (total != 0)) {
window.location.href = "#Top";
return false;
}
else {
return true;
}
}, "Total percentage must equal 100%.");
$.validator.addMethod("futuretotalsrequired", function (val, element, params) {
var total = 0;
$(".TransferPercentTextBox").each(function() {
total = total + parseInt($(this).val());
});
if (total == 0) {
window.location.href = "#Top";
return false;
}
else {
return true;
}
}, "Transfer amount must be greater than 0.");
問題はasp.netまたはmvcに関係していますか?あなたはそれを(おそらくそれはあなたのバックエンドの技術です)とタグ付けしましたが、問題はフロントエンドJSだけにあるようです。あなたが残した相互作用はありますか? –
それは私のバックエンド技術でした。 (asp.net MVC)しかし、私はそれをタグ付けする方法がわからなかった。私はそれを理解し、以下で答えます。 –