• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:書き込みが・・・・・)

JavaScriptを使用した画面遷移の問題

このQ&Aのポイント
  • 画面遷移の問題について相談です。
  • JavaScriptを使用して画面を遷移させる際に、登録後の画面遷移がうまくいかない問題が発生しています。
  • 現在作成中のプログラムでは、登録ボタンを押下した後に画面が変わらず、メニューボタンを押下すると登録されてしまいます。この問題の解決方法を教えてください。

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

PHPはサーバ側で実行されますから、ライアントに届く前に実行されてます。要するに、pr2.phpがブラウザに表示されている時点でinsert済みで、クライアント側JavaScriptの中に書かれていようが関係ないです。 pr1.phpへポストしている要求を解析して、登録なのか、MENUに戻る処理なのかを判定すれば良いかと。

hanamaru5
質問者

お礼

ありがとうございました。 >PHPはサーバ側で・・・・・ については始めて知りました。とても勉強になります。(無知でスミマセン・・・) >pr1.phpへポストしている・・・・・ 最初意味がわからなかったのですが、自分でロジックを!と言う事だったのですね。何とか旨く処理する事が出来ました。 また壁にぶつかったときは(簡単な事で申し訳ありませんが)よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 変数の記述について教えてください。

    こんにちは。 ご指導のほど、宜しくお願い致します。 javascriptで<form>のname="menu"を変数:formnameに 代入し、実行するように記述をしたいのですが どうもうまくいきません。 誤りの部分を教えて下さい。 <script Language="JavaScript"> <!-- var formname="menu"; // 本登録検索============================================== function itiran_onClick(){ document.+formname+.action" = "itiran.asp"; document.+formname+.submit()"; } ============================================== --> </script> <中省略> <form action="" method="post" name="menu"> <input type="text" name="TEST" value="1"> <input type="bottun" value="次へ" onclick="itiran_onClick()"> </form>

  • 次画面への受け渡し

    お世話になります。 1の画面から、2の画面へ遷移します。 1の画面でのボタン押下により、hiddenの内容を2の画面に渡し、2の画面のボタン押下で受け渡しているか確認したいのですが、やり方がわかりません。 下に試したものをのせておきます。 あと、書き方で問題があったり、こうした方がいいという注意もしてくださると助かります。 単純なJavaScriptだと思うのですが、初心者でどうしたらいいかもわかりません。助けてください。 1の画面: <HTML> <HEAD> <script language="JavaScript"> <!-- function selEvent(selID){ document.frmAct.fuseaction.value = selID; alert(selID); } --> </script> </HEAD> <BODY> <form name="frmAct" method="post" action="form_action2.html"> <INPUT TYPE="submit" VALUE="新規登録" onClick="selEvent(1);"> <INPUT TYPE="submit" VALUE="ID検索" onClick="selEvent(2);"> <INPUT TYPE="hidden" NAME="fuseaction" VALUE=""> </form> </BODY> </HTML> 2の画面: <HTML> <HEAD> <script language="JavaScript"> <!-- function kakunin(){ alert(document.frmAct.fuseaction.value); } --> </script> </HEAD> <BODY> <form name="frmkaku" method="post" action="xxx.html"> <INPUT TYPE="button" VALUE="確認" onClick="kakunin();"> </form> </BODY> </HTML>

  • PHP処理実行後のページの遷移について

    現在、新規情報登録画面の作成を行っています。 PHPで、データベースにインサート処理後、成功したら他のページへ遷移するという処理を行いたいのですが、PHP側の処理が実行されるとページの遷移が行われず、action='遷移ページ指定'したらインサートが実行されません。 JavascriptとPHPともにまだ学習し始めたばかりの初心者で、わかりにくい質問ですが回答のほうよろしくお願いします。 <処理の流れ> 入力 ↓ 登録ボタン押す ↓ チェック ↓ チェック成功時→ページ遷移 チェック不成功時→ページ遷移なし <html> <head><title>新規登録</title> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("jquery", "1.2");</script> </head> <body> <form method="post" action="form_ad_shinki_touroku2.php" name="formA" onsubmit="return AllCheck()"> <script type="text/javascript"> 動的入力フォーム追加機能、チェック機能など </script> <?php SQLの処理など ?> <input type="submit" name="tuika" value=" 登 録 "> <input type="button" onclick="addInput()" value="フォーム追加" /> <input type="button" name="back" value=" 戻 る " onClick="location.href='javascript:history.back();'"> </form> <body> <html>

  • Insert文がうまく実行されません

    データベースへの書込みを試みています。 先日質問させていただき、この状態で問題なく動いているのですが 入力フィールドを増やすと送信後、send_data.phpのソースが表示されてしまいます。 どなたかよろしくお願いします。 【index.html】 <head><script LANGUAGE="JavaScript"> <!--// function check(){ var strMSG; strMSG = document.search.msg.value; document.open(); document.writeln('<html>\n<head>'); document.writeln('<title></title>'); document.writeln('</head>'); document.writeln('<body>'); document.writeln('<form method="POST" action="send_data.php">'); document.writeln(strMSG); document.writeln('<input type="hidden" name="MSG" value="' + strMSG + '">'); document.writeln('<br>\n<br>\n<input type="submit" value="送信"> '); document.writeln('<input type="button" value="修正" onclick="history.back()">\n</form>'); document.writeln('</body>\n</html>'); document.close(); } //--> </script> </head> <body> <form name="search" method="POST"> ご意見<br> <textarea name="msg"></textarea><br> <input type="button" value=" 確認 " onClick="check()"> <input type=reset value=" 取消 "><br> </form></body> 【send_data.php】 <?php $con = mysql_connect("localhost","root",""); $selectdb = mysql_select_db("bri_db",$con); $sql = "insert into t_research(msg) values('$_POST[MSG]')"; mysql_query($sql,$con); mysql_close($con); ?> <html> <head></head> <body> 完了<br> <a href="index.html">続けて入力 </body> </html>

    • ベストアンサー
    • PHP
  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • JavaScript+PHPでのボタンの値について

    お世話になります。現在下記のようなコードです。 #Html側 <script language="JavaScript"><!-- function send1() { document.Form1.submit(); } function send2() { document.Form2.submit(); } // --></script> <form name="Form1" action="tesuto1.php" > 中略 </form> <form name="Form2" action="tesuto2.php" > 中略 </form> <form> <input type="button" name="botan" value="送信" onClick="send1()"> </form> <form> <input type="button" name="botan" value="取消" onClick="send2()"> </form> <form> <input type="button" name="botan" value="確認" onClick="send1()"> </form> #PHP側 tesuto1.php echo "値は".@$_POST["botan"]."です"; という感じで、どのボタンがクリックされたか判別するために、 ボタンの値を取得したいのですが。 よろしくお願いします。

  • formの中で別のactionをもったsubmitボタンの設置。

    formの中で別のactionをもったsubmitボタンの設置。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>sample</title> <script language="JavaScript" type="text/javascript"> <!-- //<クリックした時に実行される関数> //*** 確認画面A function func1(form){ document.form1.check[].value =form.check[].value; document.form1.submit(); } //*** 確認画面B function func2(form){ document.form2.check[].value =form.check[].value; document.form2.submit(); } //--> </script> </head> <body class="index"> <form enctype="multipart/form-data"> <input type="check" name="test[]" value="0">0 <input type="check" name="test[]" value="1">1 <input type="check" name="test[]" value="2">2 <input type="button" onClick="func2(this.form)" value="確認B"> <input type="button" onClick="func1(this.form)" value="確認A"> </form> <!-- sousin.php画面へ --> <form method="post" name="form1" action="sousin.php" enctype="multipart/form-data"> <input type="hidden" name="check[]"> </form> <!--- text.php画面へ ---> <form method="post" name="form2" action="text.php" enctype="multipart/form-data"> <input type="hidden" name="check[]"> </form> </body> </html> 上記のように記述し、フォームの中に別のactionをもったsubmitボタンを設置しました。 チェックボックスで何と何がチェックされたかを渡したいのですが、エラーが発生します。 おそらくjavascript内の構文でcheck[]と記述してるからだと思いますが、 どのようにすれば受け渡すことができるのでしょうか。 checkのみにすると1つの値しか渡せません。

    • ベストアンサー
    • HTML
  • フォームからのデータ送信について

    プログラミングの初心者です。 以下のソースでフォーム画面を作成しました。 これでデータベースへの書き込みができるのかどうかを教えてください。 よろしくお願いします。 <head> <script LANGUAGE="JavaScript"> <!--// function check(){ var strMSG; strMSG = document.search.MSG.value; document.open(); document.writeln('<html>\n<head>'); document.writeln('<title>送信内容確認</title>'); document.writeln('</head>'); document.writeln('<body>'); document.writeln('<form method="POST" action="send_data.php">'); document.writeln(Rsei); document.writeln(strMSG); document.writeln('<br>\n<br>\n<input type="submit" value="送 信"> '); document.writeln('<input type="button" value="修 正" onclick="history.back()">\n</form>'); document.writeln('</body>\n</html>'); document.close(); } //--> </script> </head> <body> <form name="search" method="POST"> ご意見お聞かせください<br> <textarea name="MSG"></textarea><br> <input type="button" value=" 確認 " onClick="check()"> <input type=reset value=" 取消 "><br> </form> </body> send_data.phpは以下の通りです。 <?php $con = mysql_connect("localhost","root",""); $selectdb = mysql_select_db("test",$con); $sql = "insert into table(msg) values('$_POST[MSG]')"; $result = mysql_query($sql,$con); mysql_free_result($result); mysql_close($con); ?> <html> <head><title>送信終了</title></head> <body>送信完了しました</body></html>

    • ベストアンサー
    • PHP
  • 複数フォームのデータ渡しについて

    http://okwave.jp/qa2522271.html で質問したのですが、質問内容が若干変更なりましたので、またご教授頂けたらありがたいです。 現在のコード <script language="JavaScript"> function send(v,fname){ var f=document.forms[fname]; f.botan.value=v; f.submit(); } </script> <form name="Form1" action="tesuto1.php" > <input type="hidden" name="botan"> 中略 </form> <form name="Form2" action="tesuto2.php" > <input type="hidden" name="botan"> 中略 </form> <form name="Form2" action="tesuto3.php" > <input type="hidden" name="botan"> 中略 </form> <form> <input type="button" value="送信" onClick="send(this.value,'Form1')"> <input type="button" value="取消" onClick="send(this.value,'Form2')"> <input type="button" value="確認" onClick="send(this.value,'Form1')"> </form> 前回と違うのは送信ボタンをクリックしたときに、どのボタンがクリックされたのかを判別して(ここは同じです)form1とform3のデータを渡したいのですが。 よろしくお願いします。

  • スマートフォンからMySQLサーバーにインサート

    「HTML+javascript」のスマートフォンアプリから別サーバーのMySQLと連携させることを考えています。 サーバーの情報を取得することは問題なくできたのですが、サーバーにインサートする方法で悩んでいます。 【post.html】では、mysqlにインサートはされるものの、端末にはサーバーのinsert.phpがそのまま表示されてしまいます。 【post_kai.html】でfunction Check()を試したところ、送信ボタンを押した後に端末内のfinish.htmlが表示されましたが、残念ながらインサートが出来ていませんでした。 サーバーにインサートを完了させながら、その後は端末内のfinish.htmlを表示させるためにはどうすればいいでしょうか? ****************************** 端末側 ****************************** 【post.html】 <form name="form1" id="form1" method="POST" name="form1" value="form1" action="http://hoge.ne.jp/insert.php"> <input type="hidden" name="id" value="100" /> <input type="hidden" name="pw" value="12zdD3fw" /> <input type="button" name="button" value="送信" /> <input type="hidden" name="MM_insert" value="form1" /> </form> 【post_kai.html】 <form name="form1" id="form1" method="POST" name="form1" value="form1" action="http://hoge.ne.jp/insert.php"> <input type="hidden" name="id" value="100" /> <input type="hidden" name="pw" value="12zdD3fw" /> <script> function Check(){ document.form1.submit(); location.href="finish.html"; } </script> <input type="button" name="button" value="送信" onClick="Check();" /> <input type="hidden" name="MM_insert" value="form1" /> </form> 【finish.html】 <html> OKです <html> ****************************** サーバー側(mysql側) http://hoge.ne.jp/ ****************************** 【insert.php】 省略