• ベストアンサー

親windowから子windowのsubmit方法を教えて下さい。

親画面から、子画面を開きます。 子画面では、SELECTboxが二つありDBから読み込んだデータが表示されているのと、そこから選択されたデータを表示してるSELECTBOXがあります。 その選択されたSELECTBOXの値を親画面に渡しているのですが、今回その子画面に新規データを登録できるようにしたいのです。 データをINSERTする為に、子画面をsubmitする事で、SELECTBOXに追加とINSERTは出来ています。 しかし、子画面をsubmitしたことによって、親子関係が消えてしまい、親画面にデータを渡せません。 どうしたら良いか教えて頂けないでしょうか? 宜しくお願いします。

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

  • ベストアンサー
回答No.2

例えば・・・、 submitする前の親windowを取得しておいて、持ち回ってきておいて(submit後の再表示まで)、再表示時にwindow.openerにセットする。 その前に設計を見直した方がよさそう・・・。

enzo007
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • Desires
  • ベストアンサー率40% (173/424)
回答No.1

Cookieに値を入れて処理をしてはいかがでしょうか? JavaScriptは、ちょっとかじった程度なので、求められている回答とずれた事を書いていましたらすいません。

enzo007
質問者

お礼

ありがとうございます

関連するQ&A

  • 子ウィンドウより親ウィンドウのフォームをsubmit

    親ウィンドウより子ウィンドウをwindow.openにて 表示し、 parent.window.opener.document.form.コントロール名.value="111"; というふうに、子ウィンドウより親ウィンドウのコントロールに値をセットしています。これに親ウィンドウのフォームをsubmitするという処理を追加したいのですが、可能なのでしょうか?? もし可能であれば、その方法を教えてください。 よろしくお願いします!!!! また、子ウィンドウより親ウィンドウのコントロールに値をセットした場合、親ウィンドウのonchangeイベントは発生しないようなのですが、この解消方法はないでしょうか?? よろしくお願いします!!!!

  • submitして確認画面へ

    質問させて下さい。 今PHP/MySQLを使って登録画面を作っています。 その中に【県】を選ぶと【その県の市】がセレクトメニューに表示され選択できるという2連セレクトメニューを入れています。 DBからセレクト項目を取得してくるため1回submitさせています。 そうすると、まだ入力を行っていない部分が【入力してください】と【確認】を1回押した状態になってしまうのです。 submitさせているので当然なのですが、回避する手段とかありませんか? PHPは出来上がったものを購入しているので、いまいち命令の変え方が解りません。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 子画面を閉じて親画面のリストを更新するには。

    検索ページで入力された値をキーにしてデータベースから該当するデータを取得して検索結果のリストを表示しています。 検索リストの行毎には参照ボタンが生成してあり、このボタンをクリックするとJavaScriptの「window.open」で別ページが開き、選択したレコードの詳しい内容を表示しています。 この別ページには選択ボタンが用意して、このボタンをクリックしたらJavaScriptの「window.open」で開いた別ページを閉じて検索リストに戻り、参照したレコード行の項目に選択したという情報を追加したいと考えていますがどのようにしたらいいのかが思い浮かびません。 ※検索リストで表示しているデータ(データベースから検索したデータ)はセッション変数に格納してあります。 そこで皆様のお力をお借りしたくて投稿させていただきました。 私が行いたい事は以下の通りです。 1.検索ページで入力された値をキーでデータベースを検索。 ※検索時のSQLで空のフィールド(選択ステータスフラグを格納するフィールド)を準備。 2.取得した検索データをセッション変数に格納。 3.取得した検索データから検索リスト(親画面)を生成して表示。 4.検索リスト(親画面)の参照ボタンをクリックして子画面を表示。 5.子画面の選択ボタンをクリックして子画面を閉じる。 ※選択ボタンをクリックした際に1で作成した空のフィールド(選択ステータスフラグを格納するフィールド)に値を設定。 6.検索リスト(親画面)に戻ると選択ボタンをクリックした行の空のフィールドに選択ステータスを表示。 箇条書きですが理解していただけましたでしょうか? 些細な事でも何でも構いませんのでアドバイスいただけませんでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • Submit先について

    お世話になります。 よろしくお願いします。 ちょっと表現方法が難しいのですが、 2つのサーバ間(別ドメイン、別サーバ)でデータをやり取りする際において以下のようなことをやりたいと思っています。 Aサーバ:ログイン情報入力 ⇒ Bサーバ:Aサーバで入力したデータを受信、認証 ⇒ Bサーバでデータ更新(DB登録)⇒ Aサーバにデータを渡してAサーバのDBも更新 この過程で画面上には A:ログイン画面⇒B:情報変更画面⇒B:確認画面⇒B:完了画面 しか表示できません。 この場合、確認画面から完了画面の遷移の中で、 確認画面でOKボタン押下⇒Bサーバで受けてDB更新⇒リフレッシュ0でAサーバの画面を呼ぶ(表からは見えない)⇒AサーバでDB登録⇒リフレッシュ0で完了画面呼出 と考えているのですが、この方法の考え方ってあってますか?それとも別に何かいい方法ありますか? タイトルのようにsubmitの先を箇所とかにできない・・ですよね? というのも少し手順が面倒なのと、表側でリフレッシュ0がどのように反応するのか?などが引っかかっております。 参考になる情報、意見等お願いいたします。

    • ベストアンサー
    • HTML
  • Submitで新しいウィンドゥが開いてしまう

    Submitで新しいウィンドゥが開いてしまう お世話になっております。 現在、C#,JavaScript,Oracle(10g)で画面作成をしております。 作成しておりますのは 親画面から呼ばれる子画面(親からサイズ指定されて開かれる)で、 親画面のレコード表示順列を並び替える機能を持たせています。 その子画面に配置した「保存」ボタンのonclickイベントを JavaScript(外部.jsファイルを呼ぶ)で作成しています。 (function Save();) Saveの内容はhtml内で持つ各変数をサーバーに送るのに適した形状への 並び替え等で、最後にSubmit(); をしています。 ※ (parent.[form id].document.[form id].submit();) 現在、Submit後現在開かれている子画面とは別に、 新しいウィンドゥが開かれてしまいます。 htmlのFORMのパラメータに「TARGET="_blank"」が入ってはいないのでJS側、 ※印部分の記述を変えればよいのだろうと推測しているのですが、 どうすればよいのでしょうか? JavaScript Submit 開かない(or開く)などのキーワードで検索を していますがなかなか解決できていない状況です。宜しくお願いします。

  • 子WINDOWの値を親WINDOWに反映したい

    いつもお世話になっております。 現在、ファイルのアップロード部分を作成しているのですが、 そこで、ファイルをアップロードをすると子WINDOWSが表示されて、新しいファイル名などを表示しているのですが、その新しく作成したファイル名を、親WINDOWSのテキストエリアに表示させたいのです。 イメージとしては、子WINDOWS上に「ファイル名を転送」のようなボタンを作成して、それをクリックしたら、子画面が閉じて、親WINDOWSのテキストエリアにファイル名が記載されるようにしたいです。 親から子WINDOWを開く際は、window.openerを使って開いているのですが、 どうしても子画面から、親画面に値を反映させる部分がわかりません。 大変お手数ですが、ご教授いただけないでしょうか。 以下部分部分ではありますが、ソースを表示します。 ★親WINDOW ■子WINDOWを開くjavasclipt部分 <script type="text/javascript"> function pop(obj) { wobj = window.open("", "pop","scrollbars=yes,width=480,height=360"); obj.target = "pop"; wobj.focus(); return true; } </script> ■子WINDOWを開くことになるファイルをアップロードする部分 <form action="./upload.php" method="POST" enctype="multipart/form-data" target="pop" accept-charset="utf-8" onsubmit="return pop(this)"> <input type="hidden" name="MAX_FILE_SIZE" value="10485760" /> <!--1024*1024*10 = 10MB--> <input type="file" name="my_file" /> <INPUT TYPE="hidden" NAME="shainid" VALUE="<%=sShainid%>"> <input type="submit" value="ファイルの転送開始する" /> </form> ■子WINDOWから、新ファイル名を記載したい部分 <form action = "touroku.asp" method="POST" onsubmit="return chkHissu(this)" name="form01"> <textarea name="tenpu" style="width:100%" rows=3 id="tenpu"></textarea> ★子WINDOW PHPの新しいファイル名の部分など echo 'アップロードは成功しました。<br /><br />'; echo 'ファイル名 : '.$safehtml_myfile_name.'<br />'; echo 'MIME型 : '.$safehtml_myfile_type.'<br />'; echo 'ファイルサイズ : '.number_format($myfile_size).' bytes<br />'; echo '新しいファイル名 : '.$new_file_name.'<br />'; ・$new_file_name.を親WINDOWのテキストエリア部分に渡して、反映したいです。 大変お手数ですが、ご教授宜しくお願いいたします。

  • PHPを使ってのWebサイト構築:Submitしたときに次画面が描画されない。

    Apatch、PHP4、PostgreSQLを使ってWebサイトの開発をしています。ブラウザはIE6を使用。NNを使用するとこの事象は発生しませんでした。 ●仕様  ・A.php → B.php → C.php という遷移をFormをSubmitすることによって行います。  ・Aでは、入力フォームがあり、そこでユーザは情報を入力して、Submitボタンを押下し、Bへ遷移します。入力した値はPOSTで渡されます。  ・Bでは、Aから渡された値を画面表示するときに受け取った値を確認のために表示。同時バックグラウンドで、Input type hidden のタグに値を渡し、そのFormをSubmitすることによりCへ遷移。(受け取った値をそのままCへPOSTで渡す。)  C・では受け取った値をDBに登録し、登録終了画面を表示する。 ●不具合  BからCへ遷移するとき、画面が反映されない。 ○不具合詳細  ・BからCへのSubmitボタンを押下するとブラウザ下部のステイタスバーにはプログレスバーが延びていき、「ページが表示されました」となるにもかかわらず、画面はBの状態のままである。さらにブラウザ上部のURL入力部にはC.phpのURLが入っている。  ・DBには値が反映されている。(CのPHP処理は正常におこなわれているらしい)  処理終了後に画面のどこか(どこでもよい)を一回クリックするとぱっとCの画面が表示される。(何もしないとずっとBのままである。)  ・Bの画面のままのときに、Submitボタンをもう一度押すことが出来、二度目のアクセスにいってしまう。(当システムの場合、これを行うと一意規約違反でエラーとなる。)  ・AからBではこの現象はおきない。   ・毎回なるわけではなく、4回に1回くらいは正常な動作をする。 ●環境 サーバOS:RedHatLinux Webサーバ:Apatch DB:PostgreSQL7.1 実装言語:PHP4 ブラウザ:IE6(NNではならない) 対処法のわかるかた、いらっしゃいましたらお願いします。

    • ベストアンサー
    • PHP
  • このsubmitがうまくいかないんです。

    echo '<button type="submit" name="bknk" value="back">先月</button>'; echo '<button type="submit" name="bknk" value="now">当月</button>'; echo '<button type="submit" name="bknk" value="next">次月</button><BR>'; 1つのフォームに、submitボタンを1つ設けて、 押したsubmitボタンによって、 処理を分けるというのが趣旨で、 この部分は、ボタンを配置している箇所です。 (1) この式で、どれか1個を押した時、 3つのsubmit全てがデータ送信されてしまい、 3つの処理が走ってしまいます。 1つの処理だけを行いたい。 (2) さらに、送信される値は value ではなく、 ボタンの表示名の漢字部分が送信されています。 そのままボタンを押すと、漢字が送信され、以降の処理でエラーになります。 漢字部分を、value の値にすると(1)の様に動作します。 フォーム内にsubmitが複数存在してはいけないのでしょうか。 私のHTML本には複数submitを設置した時に、 どのボタンが押されたか判別する為に name と value を使えば良いとされているのですが。 なにか、根本的なところに間違いなどありませんか? どなたかご指摘お願いします。

    • 締切済み
    • PHP
  • php selectbox hidden

    formでselectboxを作っています。 入力画面→確認画面→DB登録という流れになっており、 selectboxもDB内からひっぱりforeachで回しています。 入力画面 <select name="cat" id="cat" class="postform"> <option value="0">-- 選択してください --</option> <?php foreach ($categories as $category) { echo '<option value="' .$category->term_id. '">' .$category->cat_name. '</option>'."\n"; } </select> のようにしています。 DBの接続は省かせていただきます。 確認画面 echo $_POST['cat']; としていますが、このままだとvalueの値のみ($category->cat_nameのid)が表示されます。 確認画面では$category->cat_nameと表示され登録時には$category->term_idとしたいです。 どなたかおわかりの方がいらっしゃいましたらよろしくお願いします。

    • 締切済み
    • PHP
  • GETだと初回しかSubmitが実行されない

    テキストフィールドに入力し、検索ボタンを押すと、DBを検索し 値を表示するプログラムをphpに <? if($submit){ (データ取得) $cd = "test" } ?> <form action="XX" method="post"> <input type="text" name="cd" value="<?=$cd;?>"> <input type="submit" value="検索"> </form> のように記述してます。 ボタンを押すとサブミットされDBより取得した内容「test」と表示され、何度押してもリロードされtestと表示されるのに、 methodをgetにすると、2度目以降何度押しても リロードされている様子がありません。 フィールドのテキストを換えて押しても 反応していないようです。 1.なぜgetだと1度目しかSubmitが動かないのでしょうか? 2.どうしたらgetでリロードができるでしょうか?

    • 締切済み
    • PHP