HTML フォームの入力を検証しようとしています。1 つのスクリプトを使用して、いくつかの類似した要素を持つさまざまなフォームを検証しようとしています。全体で約 15 の異なるフィールドがありますが、私は 3 つだけ入れています。以下は、すべての要素を含むフォームで機能しますが、特定のフィールドを持たないフォームでは失敗します。
if (form.name.value == ""){ // Check if blank
alert( "\nEnter a name." );
form.name.focus();
return false; // Stop the form processing.
}
else if ( !/^\w{10}$/.test( form.phone.value )) { // Check for phone
form.name.style.border=""
alert( "\nEnter a valid phone number!" );
form.phone.focus();
return false; // Stop the form processing.
}
else{
return true; // Submit!
これはすべてが存在する場合にのみ機能するため、存在する場合にのみ検証したいのです。検証を試みる前に要素をチェックするステートメントの下に検証をネストしようとしました。要素が存在しない場合は、次のステートメントに進む必要があります。
if (document.forms[0].name){ //does field exist?
if (form.name.value === ""){
alert( "\nEnter a name." );
form.name.focus();
return false; // Stop the form processing.
}
else{
return true; //field ok move on.
}
}
else if (document.forms[0].phone){
if ( !/^\w{10}$/.test( form.phone.value )) { user
form.name.style.border=""
alert( "\nEnter a valid phone number!" );
form.phone.focus();
return false; // Stop the form processing.
}
else{
return true; //field ok move on.
}
}
else{
return true; // Submit!
}
ヘルプヘルプをいただければ幸いです。