はい、Stackedのフォーム検証には多くの質問がありますが、達成しようとしているものに非常に近いものがありますが、これは一意だと思います。Javascript複数のフィールド/フォームのバリデーション
私はthisを持っています。thisのスクリプトでは、記入されていない名前ですべてのフィールドを返します。上記作品ながら
function validate ()
{
valid = true;
if (document.contactinfo.Name.value == "")
{
alert ("You need to fill the name field!");
valid = false;
}
if (document.contactinfo.email.value == "")
{
alert ("You need to fill in your email!");
valid = false; //change variable valid to false
}
return valid;
}
と複数のアラートボックスを出し、私は手動で警告する必要があります:私は、複数のフィールド検証と同じ結果を達成しようとするコードの下にこれをやっていたとして、これはより良いアプローチであると感じどのフィールドに何回記入する必要があるかを数回確認します。私はむしろ、1つに欠けているフィールドが急上昇して、それらのフィールドに焦点を戻していることを知らせるアラートを送ることが大切です。 JSのフィドルスクリプトはそれを行いますが、私はエラーが続いています:ValidateRequiredFields is not defined
と私はどこに問題があるのか分かりません。私はすべてを正しく指定して、フォームデータが渡されているはずです。
どのような考えですか?いつものように、は、必要に応じて説明を求めます。ありがとう!
注:必要なクラスを設定できる非常に簡単なプラグインがあることがわかっているので、JQueryを使用したくありません。
あなたがで文字列にすべてのメッセージを収集することを改善し、1つのアラート
function validate () {
var valid = true;
var msg="Incomplete form:\n";
if (document.contactinfo.Name.value == "") {
msg+="You need to fill the name field!\n";
valid = false;
}
if (document.contactinfo.contact_email.value == "") {
msg+="You need to fill in your email!\n";
valid = false;
}
if (!valid) alert(msg);
return valid;
}
改善を行うことができます:私はフィドルエラーについて知らないが、あなたのスクリプトについてseverall改善がある
はい、私はあなたがエラーメッセージを連結する方法を考えていました。私がこれを行うなら、!(!document.contactinfo.Name.value。マッチ(/^[a-zA-Z- '] + $ /)) 'それは動作します。それがそのフォーマットにマッチしていないと言っています。これは、フィールドが空であるかどうかもチェックします。フィールドが入力された場合と正しく入力されなかった場合の二重チェックには非常に便利です。助けてくれてありがとう。 – Brian
はい、それともjsやregexを使って別の条件を使っても同じような作業がありますが、条件を指定するためにクラスを使用しています... "required"、 "email"、 "numeric" "complete" "masked"など.... like class = "必須のメール"を使うと条件が合わない –