• ベストアンサー

サブウィンドウから値を持ちかえる

得意先の照会画面を作成しています。 照会画面に、得意先コードを検索する機能をつけたいと 考えました。 イメージとしては、 メインのウィンドウ(得意先の照会画面)で、 検索ボタンを押すと、別のウィンドウが起動。 別のウィンドウでは、SQLサーバーから、得た 得意先の一覧が表示される。 表示の中から、必要な得意先コードにチェックなどをつけて 戻る?みたいなボタンを押すと、 そのウィンドウが閉じられると、ウィンドウで選んだ コードを持ち帰り、メインの画面にセットしたいのです。 こんなことが、可能かどうかすら、わからない事態なので、まずは、可能かどうかと、可能ならどんな感じで できるのかを、お教えいただければと思います。

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

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

No.1(No.3)です。 できます。 というか、ちょっと厳しいことを言いますが、PHPやらJavaやらJavaScriptやらPerlやらをすべてマスターしろとは言いませんが、どういった仕組みで、どこで作動するものなのかよく理解してください。 そうすればPHPファイルやJavaサーブレットにJavaScriptを書いて問題ないのかおのずと答えは出てきますし、PHPはサーバ内で動作、JavaScriptはクライアント上で動作ということを踏まえ、コード設計も見えてくると思います。 PHPやらJavaScriptをうまく組み合わせ、いかにスマートにできるかはプログラマーの腕の見せ所です。

mimi0115
質問者

お礼

ありがとうございました。会社で、勉強を独学でやれといわれ、混乱していましたが、royaltomatoのアドバイスで、もっと、落ち着いて仕組みと、どこで動作するプログラムか、ということをわきまえて、組み立ててみようかと思います。サンプルのサイトも大変参考になりました。

その他の回答 (3)

回答No.3

ん?スクリプトでサブウィンドウの値を親に渡すとき、スクリプトでPHPなりJavaなりを呼び出す記述をしてあげればサーバ処理させることもできますよ。 質問者さんはチェックボックスなどを想定されているようなので特に問題はないと思いますが、サブウィンドウで入力された値の整合性チェックをDBで行わせる場合や、そもそもその値をDBに投入してしまう場合には必要な処理です。

mimi0115
質問者

お礼

ありがとうございます。皆さんからの回答を頼りに、じっくり考えて組み立てつつ、開発中ですが、なんとかできそうです!

回答No.2

サブウィンドウのフォームのtargetを、親ウィンドウにしてあげればいいんじゃないでしょうか? サブウィンドウの<head>タグの内側に<base target="_parent">とするか、<form target="_parent">とするかですね。 もしサブウィンドウで選んだ内容をメインのフォームのテキスト欄などに入力するというだけでしたら、JavaScript(クライアントサイドスクリプト)でできます。サブウィンドウで入力した内容をサーバーで処理する必要がない場合です。この場合はPHPとはまた別な話になります。

mimi0115
質問者

お礼

ありがとうございます。皆さんからの回答を頼りに、頑張ります。targetを使ったことがなかったのですが、やっと意味がわかりました。参考になりました。

回答No.1

JavaScriptを使えば簡単に実装できます。 サンプルサイトを紹介しておきます。 http://www.usagi-js.com/sample/jssample3.htm のサンプル14を参考にしてください。

mimi0115
質問者

補足

サンプル見てみました。まさにこんなことがしたいのですが。今、親ウィンドウも、子ウィンドウも、PHPで動かしています。 JavaScriptで別ウィンドウを呼び出した後、子ウィンドウに、MySQLからデータをもらい、得意先一覧を表示したいのですが、そのサーバーとの接続、データの受け取りをPHPで書いています。 JavaScriptとPHPは同じファイル内に記述して、活用することはできるのでしょうか?

関連するQ&A