例えば、処理内容はほぼ一緒なのですが、営業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使わないとだめだということだけは分かるのですが・・・
No.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の両方がどちらにも送られてしまいますが問題ないと思います。
早速のご解答ありがとうございます。
このHTMLで試してみます。
>カテゴリの増減があると手直しが必要になりますが。
質問をあげるためにかなりシンプルな形にしたので、本当はもっと複雑なんですけど、これをベースにやってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
hiddenのvalueの値を変えたい
-
複数のsubmitボタンで押された...
-
演算対象の数字と演算子を入力...
-
ラジオボタンとテキストを同時...
-
value内に変数を入れたい
-
Pythonで会員サイトの自動ログ...
-
Kintone(キントーン)でドロップ...
-
selectboxのoptionタグのvalue...
-
VBAをJavaScriptに変換したいです
-
JavaScriptでセレクトボックス...
-
JAVASCRIPTで、ボタンを押した...
-
eval()を使わずに数値を取得し...
-
javascriptにてHTMLのhiddenエ...
-
checkboxとselectメニューの連...
-
name属性が同じフォームが複数...
-
VB.NET DateTimeの型について
-
マクロ オブジェクト変数With...
-
Jqueryを使って値の合計を簡単...
-
setIntervalの間隔を途中で変更...
-
正規表現で複数マッチ条件で悩...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
hiddenのvalueの値を変えたい
-
value内に変数を入れたい
-
引数に数値、文字列の混在
-
複数のsubmitボタンで押された...
-
VB.NET DateTimeの型について
-
3桁区切りのカンマをつけたい...
-
javascriptでhiddenに二次元配...
-
フォームで入力した値を別のフ...
-
setIntervalの間隔を途中で変更...
-
jsで、配列内の文章を改行する...
-
Pythonで会員サイトの自動ログ...
-
selectboxのoptionタグのvalue...
-
テキストボックスに入力された...
-
フォーカスすると初期値が消去...
-
ラジオボタンと連動して文字列...
-
セレクトボックスの初期選択状...
-
sessionStorageを調べています。
-
VBAをJavaScriptに変換したいです
-
ダミーフォームの内容を送信用...
-
javascriptで複数の計算を同時...
おすすめ情報