2つの入力値に基づいて非表示のテキストボックスを更新する単純なJS関数があります。私は隠されたテキストボックスを更新する前に最大callstack /再帰エラーが多すぎるparseInt(x、10)
は、私がなぜこれがあまりにも多くの再帰を引き起こしている0
に値を設定していない場合は、その入力が数値で検証するのparseInt(、10はX)を使用しますエラー?
$(function() {
$("#payment-form").on("submit",function (e) {
var xDollars = $("#dollars").val();
var xCents = $("#cents").val();
//collect our form dollar and cents values, set to 0 if not int
if (parseInt(xDollars, 10) == "NaN") {
$("#dollars").val("0");
}
if (parseInt(xCents, 10) == "NaN") {
$("#cents").val("00");
}
//join dollars and cents and submit transaction amount
$("#TransactionAmount").val(xDollars + "." + xCents);
$("#payment-form").submit();
return true;
});
});
あなたのエラーは 'parseInt()'とは何の関係もありません。イベントハンドラ内でトラップしているイベントを何らかの奇妙な理由で起こしているからです。なぜあなたは 'submit()'をもう一度呼びますか? –
誰かがこれを閉じるために投票した理由を知りたいですか?私はこれがかなり正当な質問だと思う。 – Mark
ちょうどUIの観点から..いずれかの値が数値でない場合、提出リクエストをキャンセルしてフォームエラーを表示したくないのですか? –