人に聞けない痔の悩み、これでスッキリ >>

登録画面から必要事項を入力し、送信をクリックすると、データ(CSV)に書き込まれるという仕組みを作っているのですが、

登録画面で「検索」などをクリックすると、検索フォームが出て、そちらで検索をし「反映」のようなボタンを押すと、
その検索結果が登録画面に反映されるような仕組みを作りたいのですが、どのような方法でやれば出来るのかが分かりません。
もし、そのような仕組みをフリーのCGIなどで見かけたことがある方がいらっしゃいましたら、教えて頂きたいのですが。
それをカスタマイズして使用したいのですが。

具体的やりたい事は、ID(シーケンス)を検索すると、そのIDの方の名前や生年月日の情報が検索結果として出てきて、それを登録画面に反映することです。

データベースは

ID,名前、生年月日等のデータが入っているCSVファイル
登録画面で送信をクリックすると書き込まれるCSVファイル

を用意しています。
登録画面で名前、生年月日等のデータを正確に入れるため、
検索して、正しいデータを登録画面に反映させたいと思っています。

色々検索してみたのですが、なかなか良い結果が得られませんでした。
検索の部分はCGIでやると思うのですが、
反映の部分がどのようにやればいいかが(技術面)わかりませんでした。
Javaスクリプトでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

#1さんのpostするというのは簡単にいえばフォームを送信するということです。


検索画面から登録画面に向けてIDを送信し、登録画面を表示するスクリプトでは受取ったIDを元にデータベースから必要な情報を取り出し、登録フォームをvalue(初期値)付きで表示する。ということです。

ご要望のように、検索画面(ウィンドウ)で検索を行い、その結果を親画面のフォームに反映(設定)するというのは前回回答通りJavascriptで可能です。
が、前述の方法と比べると複雑になるとか、Javascritpも扱えるようになる必要があるとかデメリットはたくさんありますがメリットはなさそうです。
また、登録画面にnameを設定するJavascriptさえ使えば、反映自体は検索画面でtargetを指定したフォームで登録画面宛てにpostすることでも実現できるでしょう。

この回答への補足

解説ありがとうございました。

Javascriptを調べてやってみようと思います。
ご親切に説明して頂き大変助かりました。
ありがとうございました。

補足日時:2005/03/30 20:32
    • good
    • 0

検索というのがよくわかりませんが、誰かが適当なIDを入力すると他人の個人情報が見れちゃうって事ではないですよね?



とりあえず、手法としては#1の方の方法が妥当だと思います。
他にはJavascriptを利用して、「登録画面」のフォームに値をいれる方法もあります。

いずれにせよ、画面構成がもう少し具体的にわからないと具体的な回答は難しいです。

この回答への補足

このフォームを使用するのは、管理者1名のみです。
アクセス制限をかけた環境に設置します。

すべてではないですが、主な画面構成は
登録画面にテキストフィールドがいくつかあります。

ID
氏名
フリガナ
生年月日
質問A
質問B・・・等

登録画面にあるリンクから新しいウインドウで開かれる、検索画面には、
IDを入れるテキストフィールドがあり、
検索すると、

該当するIDの氏名、フリガナ、生年月日が検索結果として表示されます。

そこで、反映をクリックすると、
登録画面のテキストフィールドに氏名、フリガナ、生年月日がコピーされるという仕組みを希望しています。

CGIにこだわっているわけではないので、
可能な手段があれば教えて頂きたいのですが。

知識が足りず、説明も十分に出来ず申し訳ありませんでした。

補足日時:2005/03/29 22:10
    • good
    • 0

cgiに利用している言語が不明なうえ、検索画面と登録画面との関係(隣フレーム?、親子ウィンドウ?、前後ページ?)がよくわかりませんが、


とりあえず、「反映」ボタンで、検索結果情報を登録画面出力用cgiに対してpostして登録フォームを書き換えればいいのでは?

この回答への補足

登録画面にあるリンクから新ウインドウで検索画面を開きます。
Perlで作成しております。

CGIをカスタマイズする程度の知識しかありませんので、postするという意味がわかりません。
もう少し勉強してきます。
すいませんでした。

補足日時:2005/03/29 22:06
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング