ホームページを作っています。
メールフォームもあるのですが、入力不備があったときアラートで知らせるようにJavascriptで書きました。名前や住所などはちゃんとアラートがでるのですが、メール入力の項目だけはうまくいきません。単体で試すとうまくいくのですが、他の項目と組み合わせると全部のアラートがでないで送信となるか、メールの項目が出ないで送信となります。
if (document.Formp.mail.value.match(/\w+@\w+/)) return true;
alert("正しいメールアドレスを入力してください");
return false;
をどの位置に書けばうまくいくのでしょうか?
No.1
- 回答日時:
こんにちは。
>>どの位置に書けばうまくいくのでしょうか?
全体がないのでわかりません・・・。
JavaScriptの部分を載せてください。
(^^ゞ
この回答への補足
taka451213さん、こんにちわ。ありがとうございます!
以下のように書いているのですが、メールの記述を取ると全部のアラートが出るのですが、メールのアラート記述を入れるとアラートが一つも出なくなってしまいます。入れる位置を一番上や下やいろいろやってみましたがダメなんです…。
どうすればいいのでしょう???
<script language="JavaScript">
var c1=false,c2=false;
function FormClear(){
c1=false,c2=false;
}
var c3=false,c4=false;
function FormClear(){
c3=false,c4=false;
}
function FormCheck(){
if (document.Formp.name.value == ""){
alert("名前が入力されていません");
return false;
}
if (document.Formp.address.value == ""){
alert("住所が入力されていません");
return false;
}
if (document.Formp.mail.value.match(/\w+@\w+/)) return true;
alert("正しいメールアドレスを入力してください");
return false;
}
if( c1 == false && c2 == false){
alert("性別の項目がチェックされていません");
return false;
}
if( c3 == false && c4 == false){
alert("駐車場の項目がチェックされていません");
return false;
}
if (document.Formp.plan.value == "お選びください"){
alert("部屋タイプが入力されていません");
return false;
}
else
return true
}
</script>
ちなみに、アラート画面を全部まとめて一つにするというのはCGIを使わないと無理なんですよね?
一応、CGIを使わずJavascriptで…と思っているのですが…。よろしくお願いいたします。
No.2
- 回答日時:
こんにちは。
このソースは実際のものですよね?
<script language="JavaScript">から数えて、19行目、
if (document.Formp.mail.value.match(/\w+@\w+/)) return true;
を
if (document.Formp.mail.value.match(/\w+@\w+/)){
としてください。
35行目の「else」は不要です。
>>アラート画面を全部まとめて一つにするというのは
やりたい事がイマイチわからないのですが、具体的にはどういう意味ですか?
(^^ゞ
この回答への補足
taka451213さん、本当にありがとうございます。
先ほどのソースはダミーでした。本当のはもっと大きいので簡略化したのです。でも、ご指摘のあったように直してみたのですがやっぱりうまくいきません…。直したものをアップしてみました。チェックしてみてくださいませんか?
www.w-b.jp/mill/yoyaku2.html
No.3ベストアンサー
- 回答日時:
こんにちは。
例の問題の箇所
if (document.Formp.mail.value.match(/\w+@\w+/)) return true;
(今は「return true;」が「{」になってるはず・・・)
を
if (!document.Formp.mail.value.match(/\w+[@]\w+/)){
に変えてみてください。
まとめてひとつ・・・云々の方も気になります・・・。
(^^ゞ
この回答への補足
できました!!
taka451213さん!!
本当にありがとうございます!すご~い!
昨日からかかりっきりでも全然出来なかったんです。うれしいです。ありがとうございました!
あと、まとめて一つの方は、きっと無理だと思うんですけれども、このフォームの必須項目に記入もれがあれば全部アラートを出すようにしたのです。
でも、それでは記入もれが何カ所もあったときには、1箇所ずつのアラートしか出ないので、うるさいかな~と思ったんです。何度も戻ってやり直さなければならないので一回でまとめてアラートが出ればいいかな~と思ったもんですから…。素人の浅知恵です。実際にこのホームページも有効なものかどうか。セキュリティのことなどを考えるとCGIを設置した方が良いみたいですが、まだそこまで考えていないのです。
でも、まずはここまで出来て本当に良かったです。
本当に有難うございました!^^
taka451213さん、こんにちわ。
先日は色々と解答いただき有難うございました。
アラートをまとめるのがまだできていないので進行中ですが、第1段階はtaka451213さんにご教授いただいたおかげで何とかなりました。
本当に有難うございました。
また機会があれば色々教えてくださいね!
では!
No.4
- 回答日時:
まとめてアラートを出したいのなら、こんな方法も。
function FormCheck(){
AlertText = "";
/* 不備チェック */
if (document.Formp.name.value == ""){
AlertText = "名前が入力されていません\n";
}
if (document.Formp.address.value == ""){
AlertText = AlertText + "住所が入力されていません\n";
}
if (document.Formp.mail.value.match(/\w+@\w+/)) { AlertText = AlertText + "正しいメールアドレスを入力してください\n";
}
if( c1 == false && c2 == false){
AlertText = AlertText + "性別の項目がチェックされていません\n";
}
if( c3 == false && c4 == false){
AlertText = AlertText + "駐車場の項目がチェックされていません\n";
}
if (document.Formp.plan.value == "お選びください"){
AlertText = AlertText + "部屋タイプが入力されていません\n";
}
/* 不備があったらアラート */
if (AlertText) {
alert (AlertText);
return false;
} else {
return true;
}
</script>
ひとつずつ不備をチェックして、不備があったらアラートの文章をAlertTextに代入。最期にAlertTextをチェックして、空であればそのまま送信、なにか入っていればその文章をアラートとして出します。
No.5
- 回答日時:
#4です。
一部ミスがありましたので訂正です。【誤】
if (document.Formp.mail.value.match(/\w+@\w+/)) { AlertText = AlertText + "正しいメールアドレスを入力してください\n";
}
【正】
if (! document.Formp.mail.value.match(/\w+@\w+/)) {
AlertText = AlertText + "正しいメールアドレスを入力してください\n";
}
No.6
- 回答日時:
#4です。
何度もすみません。} がひとつ足りませんでしたので、</script>の前にもうひとつ}を足してください。
この回答への補足
すごいです!flowermazeさん!
アラートを一緒に出すことが出来るんですね!
感激です!
やってみます!
ありがとうございます!
アップしたらまたカキコします!
flowermazeさん!こんにちわ!
できました!
(時間があったら見てみてください!www.w-b.jp/mill/yoyaku3.html)
すごいです!本当に出来ちゃいました!!
まだ改良点はあるような気もしますが、ここまで出来たことがすごいです!
本当に有難うございました!!
また、機会があれば色々と教えてくださいね!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- その他(メールソフト・メールサービス) 大阪市プレミアム付き商品券のweb申し込みで楽天モバイルのEメールだと返信メールが届かない 2 2022/09/19 17:08
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- JavaScript 助けてください!スパムメールがとんでもなく大量に届きます。 3 2023/08/10 16:32
- その他(メールソフト・メールサービス) Windows10付属のメール、なぜ設定が劇的に簡単になったのか? 1 2022/12/16 13:14
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
return trueとreturn falseの用...
-
Tabキーでのカーソルの移動...
-
チェックボックスの有無判定
-
プルダウンメニューを選択して...
-
ドロップダウンリストボックス...
-
slickのレスポンシブ > center...
-
テキストボックスに数字しか入...
-
正規表現で複数マッチ条件で悩...
-
ラジオボタンのNullチェック
-
半角英数字のみの入力にエラー...
-
COBOLの数字チェック
-
IE8におけるショートカットキー...
-
フォームの入力チェックをする...
-
未入力のラジオボタンに、alert...
-
プルダウン 項目が多いので先頭...
-
submitボタン押下時にPOSTされ...
-
onchangeイベントを強制的に発...
-
大文字か小文字かを判断する方法
-
【jQuery】input nameの文字列...
-
Selectボックスの幅を自動で広...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
正規表現で複数マッチ条件で悩...
-
JavaScriptde途中で、「exit」...
-
slickのレスポンシブ > center...
-
COBOLの数字チェック
-
チェックボックスの有無判定
-
フォームの入力チェックをする...
-
Visual Studioのデザインでの非...
-
Tabキーでのカーソルの移動...
-
ツリービューのチェックボック...
-
ドロップダウンリストボックス...
-
コピペを禁止するtextarea
-
ラジオボタンのNullチェック
-
未入力のラジオボタンに、alert...
-
form の onSubmit がコールされ...
-
分岐数といえば
-
JSのみで入力→確認→メールで送...
-
JavaScript ログアウト処理
-
TEXTAREAに入力した改行コード...
-
リロードしないようにするには
おすすめ情報