質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

1771閲覧

処理が通ったら別の処理を実行したい

MeB

総合スコア104

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/03/07 01:54

編集2018/03/09 01:03

やりたいこと
「入力チェックjsが通ったら表示切り替えjsの処理が実行されるようにしたい。」
現在は同時に動いてしまっていて、
当たり前ですが以下のようになっているため
入力チェックに引っかかっても画面切り替えの処理が動いています。
入力チェックで引っかかった場合は画面切り替えの処理が実行されないようにしたいのですが、
どのようにしたら良いのでしょうか?
お手数ですが、ご教示お願いします。

js

1 // 入力内容チェック 2 function input_check(){ 3 var result = true; 4 // エラー用装飾のためのクラスリセット 5 $('#person_name_check').removeClass("inp_error"); 6 // 入力エラー文をリセット 7 $("#person_name_check_error").empty(); 8 // 入力内容セット 9 var person_name_check = $("#person_name_check").val(); 10 // 入力内容チェック 11 // person_name 12 if(person_name_check == ""){ 13 $("#person_name_check_error").html("<i class='fa fa-exclamation-circle'></i> お名前は必須です。"); 14 $("#person_name_check").addClass("inp_error"); 15 result = false; 16 } 17 return result; 18} 19//画面切り替え 20$(function(){ 21 $('button').on('click',function(){ 22 switch($(this).text()){ 23 case "確認画面": 24 case "もどる": 25 $('.form-area:eq(0),.form-area:eq(1)').toggleClass("active"); 26 break; 27 case "送信": 28 $('.form-area:eq(1),.form-area:eq(2)').toggleClass("active"); 29 break; 30 case "フォーム入力に戻る": 31 $('.form-area:eq(0),.form-area:eq(2)').toggleClass("active"); 32 break; 33 } 34 }); 35});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

肝心のメールを送る仕組みが提示されていないのでなんとも言えませんが

  1. ajaxでメール送信フォームに送信を指示し、戻り値をみて完了すれば「ありがとうございます」を表示
  2. 単純にサブミットしてメール送信フォームに任せる

のどちらかではないでしょうか?

投稿2018/03/07 02:03

yambejp

総合スコア114784

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MeB

2018/03/07 02:14

すみません。メールの処理はまだです… 質問を訂正しました。
guest

0

$.whenとかですかね。callback関数でも出来ます。

参考: jQuery.when() で、複数の非同期処理を扱う

投稿2018/03/09 03:31

NARI_Creator

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

HTMLが掲示されていないので、なんとも言えないですが、
javascriptで制御するなら、
formの送信を、初期値は送信させないようにし、
(formのonclickにjavascriptスキーマを入れて止める、input type="submit"をdisabledにするetc...)
チェックが通ったら、送信を有効にする、のほうがうまくいく場合が多いです。

その際、チェック機構を、動くどうか厳重に確認しないと、送信不能のformになってしまいますが。

投稿2018/03/09 01:14

miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問