プロが教えるわが家の防犯対策術!

例えば、処理内容はほぼ一緒なのですが、営業1課2課それぞれが独自にWebページを持っていてフォームから送信された内容を処理するCGIも独自に作っています。

●1課のWebフォーム
<FORM ACTION=http://eigyo1.jp/nanka.cgi METOD=POST>
カテゴリ:<SELECT name="category">
<OPTION value="衣類" selected>衣類</OPTION>
<OPTION value="インテリア">インテリア</OPTION>
</SELECT><BR>
商品検索:<INPUT TYPE=TEXT NAME=hinmei>
</FORM>

●2課のWebフォーム
<FORM ACTION=http://eigyo2.jp/Kanka.cgi METOD=POST>
カテゴリ:<SELECT name="genre">
<OPTION value="食品" selected>食品</OPTION>
<OPTION value="日用雑貨">日用雑貨</OPTION>
</SELECT><BR>
商品検索:<INPUT TYPE=TEXT NAME=kensaku>
</FORM>

これを1つのフォームでリストボックスに食品、日用雑貨、衣類、インテリアとし、検索語も1つのテキストボックスとし、食品・日用雑貨を選択するとeigyo1の方へ検索語の名前はhinmei、衣類、インテリアを選択するとeigyo2の方へ検索語の名前はkensakuで送信できる様にするにはどうしたらよいのでしょう。多分Javascript使わないとだめだということだけは分かるのですが・・・

A 回答 (1件)

<script type="text/javascript">


<!--
  function submitForm ( formObj ) {

    var submitURL = "";
    var selValue = formObj.genre.options[formObj.genre.selectedIndex].value;

    formObj.hinmei.value = "";
    formObj.kensaku.value = "";

    if ( (selValue=="食品") || (selValue=="日用雑貨") ) {
      // 送信先を営業1のCGIへ
      submitURL = "http://eigyo1.jp/nanka.cgi";
      // hinmeiに検索語をセット
      formObj.hinmei.value = formObj.word.value;
    } else if ( (selValue=="衣類") || (selValue=="インテリア") ) {
      // 送信先を営業2のCGIへ
      submitURL = "http://eigyo2.jp/Kanka.cgi";
      // kensakuに検索語をセット
      formObj.kensaku.value = formObj.word.value;
    }

    formObj.submit();
  }
//-->
</script>

===================================

<form method="POST" name="search">
カテゴリ:<select name="genre">
<option value="衣類" selected>衣類</option>
<option value="インテリア">インテリア</option>
<option value="食品">食品</option>
<option value="日用雑貨">日用雑貨</option>
</select><br>
<input type="text" name="word">
<input type="button" onClick="submitForm(this.form);" value="検索">
<input type="hidden" name="hinmei" value="">
<input type="hidden" name="kensaku" value="">
</form>

===================================

こんな感じでいかがでしょうか?
カテゴリの増減があると手直しが必要になりますが。

動作説明としては、セレクトされている値を取得して、
どちらのカテゴリに相当するか判断を行い、
送信先のURLの変更を行っています。
同時に、送信先での取得名が違うテキストに関しては、
表向きは一つのテキストボックスを用意し、
上と同じく、カテゴリの判断を行い、hidden項目で
よういしたそれぞれにセットしています。

hinmeiとkensakuの両方がどちらにも送られてしまいますが問題ないと思います。
    • good
    • 0
この回答へのお礼

早速のご解答ありがとうございます。
このHTMLで試してみます。

>カテゴリの増減があると手直しが必要になりますが。

質問をあげるためにかなりシンプルな形にしたので、本当はもっと複雑なんですけど、これをベースにやってみます。

お礼日時:2004/10/28 12:09

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