JSの新しい男にここ!私のコードが何をしているのか理解していると感じますが、それでも動作しません。フォームバリデーションの苦境
バグは電話番号フォームの検証で(おそらく)、私の知る限りでは動作するはずのコードがありますが、そうではありません。
私はアドレス、ポストコード、およびCCを検証するコードを持っていないことに注意してください。アイデアは、私があなたの解決策を論文に適用できるということです。彼らは電話番号に似ています。
また、私はisNaNを試しましたが、それは "奇妙な"ものでした。それほど曖昧ではないことを願っていますが、私はあなたの何人かが私が何を話しているか「知っている」と確信しています。
ここでは、
たちができれば離れて鈍い答えからご利用いただけます(私の機能は少し長い場合申し訳ありませんが、その悪い習慣または何なら、私に知らせてください。)行きますか?
function detailCheck() {
var phNoLength = document.getElementById('phNo').value.length; //get value for phone number from form for checking
var cardNoLength = document.getElementById('cardNo').value.length; //get value for card number length for checking
var postCodeLength = document.getElementById("postCode").value.length //get value for post code length
var a = /^[A-Za-z]+$/;
var b = /^[-+]?[0-9]+$/;
for (var i = 0; i < 5; i++) {
details = document.getElementById("myForm")[i].value;
if (details === "") {
var i = ("Please enter ALL your details.");
document.getElementById("formTital").innerHTML=i;
return;
} else {
if(phNoLength != 7) {
var i = "Please use a phone number with a length of 7";
document.getElementById("formTital").innerHTML = i;
} else {
if(b.test(document.getElementById("phNo").value)) {
\t
if(postCodeLength === 4){
var f_nameLength = document.getElementById('fName').value.length;
var l_nameLength = document.getElementById('lName').value.length;
if(f_nameLength < 3) {
var i = "First name not long enough"
document.getElementById("formTital").innerHTML=i;
} else {
if(a.test(document.getElementById("fName").value)) {
\t if(l_nameLength < 3) {
var i = "Last name not long enough"
document.getElementById("formTital").innerHTML=i;
} else {
if(a.test(document.getElementById("lName").value)) {
\t
\t if(cardNoLength === 4) {
\t \t
\t \t if(isNaN(cardNoLength)) {
var i = "Your card number must be numbers only";
document.getElementById("formTital").innerHTML=i;
} else {
//---- End result ----//
toggleContent();
//--------------------//
}
} else {
\t var i = "Your card number must have four numbers";
document.getElementById("formTital").innerHTML = i;
}
} else {
var i = "Please only use letters in your last name";
document.getElementById("formTital").innerHTML=i;
}
}
} else {
\t var i = "Please only use letters in your first name";
document.getElementById("formTital").innerHTML=i;
}
}
} else {
\t var i = "Please use a post code with a length of four";
\t document.getElementById("formTital").innerHTML = i;
}
} else {
var i = "only use numbers in your Phone number";
document.getElementById("formTital").innerHTML=i;
}
}
}
}
}
<form id="myForm" action="form_action.asp">
First name: <br> <input class="formInput" type="text" id="fName" name="fName"><br>
Last name: <br> <input class="formInput" type="text" id="lName" name="lName"><br>
Phone Number: <br> <input class="formInput" type="number" id="phNo" name="phNo" maxlength="7"><br>
Credit Card Number: <br> <input class="formInput" type="password" id="cardNo" name="cardNo" maxlength="4"><br>
Address: <br> <input class="formInput" type="text" id="address" name="address"><br>
Post code: <br> <input class="formInput" type="number" id="postCode" name="postCode" maxlength="4"><br>
</form>
これはネストされた 'if'sの* lot *です... –
これは悪いものですか?あなたはどのように論文のような条件を設定しますか? – Draxy
必ずしも悪いことではありませんが、私は個人的には、特にインデントに応じて非常に混乱すると思います。 –