PHPのsubmit処理について不明点があります

このQ&Aのポイント
  • PHPのsubmit処理について不明点があります。ボタンを押したらフォームの入力内容を別フォームに表示したいのですが、ボタン押下時にsubmitで表示するかの確認をしたいです。
  • 現在、ボタンを押すと確認アラートも出ず、ただ別フォームが表示される形になってしまいます。関数が呼ばれず、確認アラートも呼ばれません。
  • 解決方法や原因についてご教示いただけると幸いです。
回答を見る
  • ベストアンサー

phpのsubmit処理について

phpのsubmit処理について不明点があります 実装したいことは ボタンを押したらフォームの入力内容を別フォームに表示したいのですが 別フォームに呼び出しはできたのですが ボタン押下時にsubmitで表示するかの確認をしたいです 現段階ではボタンを押すと確認アラートも出ず、ただ別フォームが表示される形になってしまいます <--関数--> function showData(){ myRet = confirm("表示しますか") if (myRet == true){ } } <--form--> <form name = "FileData" action = "show.php" method="POST"> <--button--> <input type = "submit" name ="Display" onClick "showData();" value="表示"> ソースの抜粋になります これで実行するとshow.phpが呼ばれて表示はされるのですが関数が呼ばれず確認アラートも呼ばれません すぐ実行されるというものになっていますます この現象の原因と何か解決などわかることがあればよろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • wooo-chan
  • ベストアンサー率100% (2/2)
回答No.1

まず、ご質問の内容はPHPではなく、JavaScriptの分野になります。 ご質問の内容についてですが、次のように修正してみてください。 ●JavaScript部分(confirmの確認の結果を返しています) function showData(){ return confirm("表示しますか") } ●ボタン部分(onClickにイコールと、return 関数名、のようにします) <input type = "submit" name ="Display" onClick="return showData();" value="表示"> ボタンでは、クリックしたときにshowData関数が呼ばれます。 showData関数では、confirmの結果、OKが押されていればtrueを、キャンセルが押されていればfalseをボタンに返します。 そうすると、OKのときには送信ボタンとして機能し、キャンセルのときには送信しないようになります。

k-karasu
質問者

お礼

回答ありがとうございます まずタイトルですが投稿した後にPHPではなくJavascriptと気づきました。 紛らわしくて済みません。 ご指摘の通り修正いたしましたら処理できました。 returnでsubmitの結果値を返しその返却値で処理を判断するという形式なのですね。 すっきりしました。ありがとうございましたあ。

関連するQ&A

  • Chromeで複数submit

    現在1つのボタンで2つのフォームをsubmitしているのですがGoogleChromeだけ1正常に動作せず困っております。 下記スクリプトでIE、FireFoxはnform、nform2ともにsubmitされるのですがChromeのみnform2(後に記述したほう)のみ実行されます。 解決方法はありますでしょうか? 宜しくお願い致します。 <script language="javascript"><!-- function send() { if(window.confirm('設定してよろしいですか?')){ document.nform.submit(); document.nform2.submit(); }else{   alert('キャンセルしました'); } } //--></script> <form name="nform" action="a.php" target="blank" method="POST"> <input type="hidden" value="a" name="1"> </form> <form name="nform2" action="b.php" method="POST"> <input type="hidden" value="a" name="1"> </form> <button onClick="send()">ボタン</button>

  • PHPのsubmitボタンが複数ある場合

    PHPのsubmitボタンが複数ある場合 PHPにて会計システムを開発しているのですが、計算ボタンと、更新してDBに追加するためのボタンとが混在している場合、 $_POST等で押されたボタンの処理を分けることは可能なのでしょうか?下の例は、 name="calculation"が押された場合は、val1とval2の値を計算し、totalへ値を入れます。 name="update"が押された場合は、それぞれのフォームの値をDBに更新をかけます。 <?php <form action="****.php" method="POST"> <input type="text" name="val1" value="20"/> <input type="text" name="val2" value="30"/> <input type="text" name="total" value="50"/> <input type="submit" name="calculation"/> <input type="submit" name="update"/> </form> ?> お分かりになる方、ご教授お願いいたします。

    • 締切済み
    • PHP
  • formのボタンをsubmitしたときにアラート

    javascript で、formのボタンをsubmitしたときに アラートが出るようにしたいと思います。 下記のように作ってみましたが、うまく動きません。 どのようにすれば動くでしょうか? ご教示いただきたくお願いいたします。 <script type="text/javascript"> function(){ $('form1').submit(function(){ $.ajax({ type: 'POST', data: postData, url: 'buy.php', success: function(data){alert("購入できました");} error: function(){alert('購入できませんでした。再度お試しください');} }); return false; }); } </script> <form name="form1" id="form1" method="POST" name="form1" value="form1" action="buy.php"> <input type="hidden" name="id" value="100" /> <input type="hidden" name="name" value="高橋" /> <input type="submit" value="Save"> <form/>

  • 【HTML(PHP?)】複数のフォームと複数の実行ボタン(submit

    【HTML(PHP?)】複数のフォームと複数の実行ボタン(submit)の扱いについて どのカテゴリで質問しようか迷いましたがこちらで・・・。 今回は画像を使用して質問します。 今回はHTML(PHP使用)に関しての質問なのですが、 図にあるように、※1をクリックすると、その次のページにA,Bの情報がPOSTで次のページに送信されるようにしています。 ここで、※2にも同じように、A,Bの情報をPOSTで次のページに送信したいのですが、 何故かPOSTで送信されないみたいなのです。 どうにかして※2も※1と同じようにPOSTを送信したいのです。 別の質問サイトで、「押されたsubmitがどれかによって処理を分岐させる」と回答が帰ってきたのですが、javascript無しのPHPだけで以上のことができるのでしょうか? なお、HTMLのFORMタグは入れ子にしていませんし、 POST受け取り先の.phpも問題はありません。 以下、HTMLのform、input部分のソース ※1のフォームタグ内容 <form action="search.php" method="post" name ="search"> ※1ボタンの内容 <input type="submit" name="searching" value="再検索"> ※2のフォームタグ内容 <form action="result.php" method="post" name ="res"> ※2ボタンの内容 <input type="submit" name="result" value="結果表示"> まとめとして、 押されたsubmitがどれかによって処理を分岐させる方法を、 javascriptではなく、PHPのみで実装させたいのです。 どうかよろしくお願いします。

    • ベストアンサー
    • PHP
  • 2つのsubmitボタンがあるときに

    最初に書いたボタンが優先され 単にリターンキーを押したときに 最初のsubmitボタンが反応します。 後のsubmitボタンが反応するようにするにはどうしたらいいのでしょうか? つまり下記のPHPをブラウザに表示させているときにリターンキーを押したときには submit2 is pushed. と表示させるにはどうしたらいいのでしょうか? <form method="post" action="<?=$PHP_SELF?>"> <input type="text"/><br/> <input type="checkbox"/><br/> <input type="radio" name="radio"/><br/> <input type="submit" name="submit" value="submit1" tabindex=-1/><br/> <input type="submit" name="submit" value="submit2" tabindex=1/><br/> </form> <?php if(isset($_POST['submit'])) { echo$_POST['submit'].' is pushed.'; } ?>

    • ベストアンサー
    • PHP
  • テキストリンクでsubmitするには

    簡易的な検索システムを作ってみました。 検索フォームでは、エリアごとにボタンを設置し、ボタンをクリックすることで、該当するエリアの検索結果が表示されるというものです。 今回、この検索フォームのボタンをテキストリンクで表示できないかと思い、ご質問させて頂きました。 現在は、下記のようなフォームにしています。 <form name="" method="POST" action="result.php"> <ul> <li><input type="submit" name="area" value="新宿"></li> <li><input type="submit" name="area" value="銀座"></li> <li><input type="submit" name="area" value="渋谷"></li> <li><input type="submit" name="area" value="恵比寿"></li> <li><input type="submit" name="area" value="品川"></li> </ul> </form> ※例えば、新宿のボタンをクリックすると、新宿に該当する検索結果が表示されます。 このボタンをテキストリンクにする方法としては、どういった方法がありますでしょうか? アドバイスをいただければ幸いです。

    • ベストアンサー
    • HTML
  • 【HTML(PHP?)】複数のフォームと複数の実行ボタン(submit

    【HTML(PHP?)】複数のフォームと複数の実行ボタン(submit)の扱いについて 【お詫び】 やたらと重く、送信ボタンを何度も押してしまい、同じ質問を何度も投稿した形になってしまい、大変申し訳ございませんでした。 それらの質問は全て削除させていただきました。 どのカテゴリで質問しようか迷いましたがこちらで・・・。 今回は画像を使用して質問します。 今回はHTML(PHP使用)に関しての質問なのですが、 図にあるように、※1をクリックすると、その次のページにA,Bの情報がPOSTで次のページに送信されるようにしています。 ここで、※2にも同じように、A,Bの情報をPOSTで次のページに送信したいのですが、 何故かPOSTで送信されないみたいなのです。 どうにかして※2も※1と同じようにPOSTを送信したいのです。 別の質問サイトで、「押されたsubmitがどれかによって処理を分岐させる」と回答が帰ってきたのですが、javascript無しのPHPだけで以上のことができるのでしょうか? なお、HTMLのFORMタグは入れ子にしていませんし、 POST受け取り先の.phpも問題はありません。 以下、HTMLのform、input部分のソース ※1のフォームタグ内容 <form action="search.php" method="post" name ="search"> ※1ボタンの内容 <input type="submit" name="searching" value="再検索"> ※2のフォームタグ内容 <form action="result.php" method="post" name ="res"> ※2ボタンの内容 <input type="submit" name="result" value="結果表示"> まとめとして、 押されたsubmitがどれかによって処理を分岐させる方法を、 javascriptではなく、PHPのみで実装させたいのです。 どうかよろしくお願いします。

    • ベストアンサー
    • PHP
  • php post

    phpで質問です。 ページ1でユーザーにフォームから入力されたページをページ2でサニタイズをし確認のため表示しページ3でページ 1に入力された値をそのままdbに入れたいのですが、どうすればページ1で受け取ったデータを2.3に送信できますか?ページ2では確認のため表示したあとに登録か修正か尋ねるフォーム(登録がのname='add')のようにしています。 ページ2の 確認フォーム<form action="3.php" method="post"> <button type="submit" name="remove" class="pre">修正</button> <button type="submit" name="add" value="true" class="button">登録</button> </form>

    • ベストアンサー
    • PHP
  • onClickとsubmitの処理順序

    #過去ログをあたりましたが、自分で納得いく解答がなかったので質問します。 フォームのsubmitボタンにonClickでチェッカーなどの関数を与えた場合、 submitでフォーム内容を送信するのと、onClickで指定されている関数の どちらが先に処理されるのでしょうか。 (一応、WindowsのIE、ネスケ共々、onClickの処理の後、submitされるようではあります) function tasikame { (フォームの内容チェック/中略) alert("入力されていない項目があります") } 例えば、このような関数をonClickで起動する場合、フォームに入力されていない 項目があると、警告されます。 この時、submitはどの環境でも起動しないで終わるのでしょうか。 それとも警告が起動した後、フォーム内容はsubmitされてしまうのでしょうか。 #分かりづらければ、補足しますのでどうぞよろしく。

  • submitボタンのアラートを閉じても送信されてしまう

    初歩的な質問で恐縮です。 PHPでメールフォームを作っています。 submitを押した時に「送信してよろしいですか?」というアラートを出しているのですが、このアラートを閉じても(右上の「×」を押しても)送信されてしまいます。 ユーザーがやっぱり送信をやめたくても、submitを押してしまったら回避できないという状況です。 運用が迫っているため急ぎですが、ご教授いただけないでしょうか。 ボタンのソースはこちらです。 なお、<form>にonSubmitで記述した場合も同じでした。 <input type="submit" onClick="javascript:alert('こちらの内容で送信します。よろしいですか?')" value=" 送 信 "> ちなみに、内容チェックは送信されてから行っていますので、ここでは単純にアラートを出すだけです。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう