私は、2つの条件が真でなければ何も送信しないようにするべきです。つまり、値がそれぞれの必要なカテゴリに入れられていなければなりません。有効な電話番号が提出されました。フォーム投稿投稿者
代わりに、エラーメッセージが表示されますが、それはどうにかフォームを送信します。私のコードでエラーが表示されない、何かを見ることができますか?
function formValidation() {
var ids = ["orgname", "cultpicklist", "catpicklist", "servpicklist", "phone", "add1", "url", "state"] // required fields
formValue = 1; // value indicating whether to go to the next step of the process, phone number validation. On by default.
if (document.getElementById('deletebutton') != null && document.getElementById('orgname').value === "") {
formValue = 0; // A separate test for when the delete button is clicked.
}
else {
for (var i = 0, len = ids.length; i < len; i++) {
if (document.getElementById(ids[i]).value === "") {
formValue = 0; // Testing each of the list items
break;
}
}
}
// Here's the part where, if everything else passes checks, we have a regex test for phone number validation
if (formValue == 1) {
phoneVal = document.getElementById("phone");
if (/^\d{3}-\d{3}-\d{4}$/.test(phoneVal) || /^\d{10}$/.test(phoneVal) || /^\(\d{3}\) \d{3}-\d{4}$/.test(phoneVal)) {
return true;
}
else {
alert("Please put in a correct phone number");
return false;
// This shouldn't submit, but does.
}}
else if (formValue == 0) {
alert('Please fill out all required fields');
return false;
// This also shouldn't submit, but does as well.
}
}
あなたはこの関数を呼び出しているHTMLの一部を貼り付けることができます。それはonSubmit = "return formValidation()"を持つ必要があります – Pradeep
この関数自体は、一目でうまく見えます。どうやってそれを呼びますか?私はフォーム提出を止めるためには、 "onsubmit"ハンドラから来る必要があると思います。 –
私はいくつかの文脈がありません。この関数をどこで呼びますか? onsubmit? – Iljaas