私の下で言及したコードは、依然として名前フィールドの特殊文字にフォームを送信します。検証は機能しますが、繰り返し送信すると、名前の中に特殊文字を含むフォームが改行されて送信されます。妥当性検査が偽を返してもJQueryフォームが提出されます
この理由は何ですか?
$("#fee").submit(function(){
trimmedValue = $.trim($("#name").val());
$("#name").val(trimmedValue);
typevalue = $("input:radio[@name='type']:radio:checked").val();
if(typevalue=="FLAT" && !isFloat($("#amount").val())) {
alert("Amount should be number with proper decimal formatting");
$("#amount").val("0.0");
return false;
}
var noSpecialChars = /[^a-zA-Z0-9]/g;
if (noSpecialChars.test($("#name").val())) {
alert("Please enter valid fee Name. Do not enter special characters" );
return false;
}
if(typevalue=="PERCENTAGE" && !isFloat($("#percentage").val())) {
alert("percentage should be number with proper decimal formatting");
$("#percentage").val("0.0");
return false;
}
if(typevalue=="FLAT" && $("#amount").val()=="0.0") {
return confirm("Do you really want the amount to be 0.0 ?");
}
if(typevalue=="PERCENTAGE" && $("#percentage").val()=="0.0") {
return confirm("Do you really want the percentage to be 0.0 ?");
}
});
これは問題を修正しました。このシナリオでデバッグする方法を知りたいですか? –
問題はありません - この場合は、テキストエリアの要素をページに追加し、noSpecialChars.test($( "#name")。val())の結果をそのテキストエリアに書き込むことで、 。私はFirebugを使っていくつかの早期仮説を割り引いた。 –