質問: true){ message +="性別:Female\n"; } if(!document.cancel.txtarea.value==""){ message +="お問い合わせ内容:"+document.cancel.txtarea.value+"\n"; } ``` の部分だけ(性別に関してはどちらか一方)をconfirm を使って alertで表示し、OKを押したらsample.phpに移動しキャンセルならこのページに留まるようにしたいです。 また、送信前に都道府県の中で選択したものがそのまま送信前でお問い合わせ内容の部分に表示されるようにしたいです。 どちらも いろいろ調べてやってみたものの confirmに関しては、window.confirmというのならあるけれどこのようなmessageのようなメッセージを出すには使うことができず... 使い方が間違っていたのかも...? また、お問合せ内容に表示させるものに関しては、textareaの部分に何か書くのはわかったのですが 何を書いたらいいかわからず... どなたか 教えていただけるとありがたいです 追加して 書いてみた結果... ``` function disp(){ if(window.confirm(message)){ location.href="sample.php"; } else{ window.alert('キャンセル'); } } ``` を if(!message==""){ alert(message); return false; の前の部分に入れ HTMLでは ``` お名前: お住いの都道府県: 都道府県 茨城県 栃木県 群馬県 埼玉県 千葉県 東京都 神奈川県 性別 男性 女性 お問い合わせ内容を以下に記入してください: ``` とやってみました。が、うまくできず... どのようにしたらよかったのでしょうか...? ちなみに表示させたいのはこのような感じでOKならsample.phpへ移動し、キャンセルならページにとどまりたいです 表示させてる内容はこの問題とはまた違ったものです。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/eccc280c73869a4f2e5730ba8cbe9f4e.jpeg) 修正した後ここまではできたんですが、ここからできなくなってしまって... OKとキャンセルは出たんですがOKを押してもページ先で表示されるはずの入力した内容が出なくなってしまいました... どうしたらいいのでしょうか... ``` if(window.confirm(message)){ location.href="sample.php"; } } ``` 上の三行を追加しました。またHTMLの部分も変更しました。 ``` ```
回答: >confirm を使って alertで表示 そもそもconfirmとalertでは用途が違うので混在しないようにしましょう。 alert - 通知 confirm - 確認 confirmでOK時、キャンセル時は下記を参考にしてください。 ご提示のmessageも問題なく使えると思います。 キャンセル時にはalert()で書かれているようにreturn falseをすることで何もしません(=ページに留まる) 画面遷移についてはsample.phpがformのactionに設定されているのでOK時にreturn trueすれば良いと思います。 そういえば、送信(submit)するボタンが設置されていないように見受けられます。 type=textでEnterするしかないような・・? ひとまず、Submitボタンを置いた方が良いでしょう。 (ボタンを置いたらonclickでご提示のreturn check()を設置します) 追記を受けて ======= ↓ returnを設定していないとreturn falseを受け取らないのでそのまま送信してしまいます。 「画面遷移」をするわけではなく「入力情報をformのactionに設定した先に送信する」ので locationはいりません。の中にsubmitボタンがあれば内の入力情報を全て送信してくれます。