フォームでこのようなことはできませんか?

[統計] HTMLからXHTMLへの移行を進めていますか?



0   名前: GABRIEL : 2004/11/27 19:43
久しぶりに質問させて頂きます。

フォームタグを二つ使って例えば

ヤフーとグーグルの検索窓をページに表示することができますよね。
ああいうので

┌──────────┐
│  検索ワード   │
└──────────┘
┌────┐┌─────┐
│Yahooで ││ Googleで │
└────┘└─────┘

みたいな感じで一つのテキスト入力欄でどちらでもできるという風にはできませんか?
できるのならどうすればいいのか教えて下さい。

1   名前: くこひ : 2004/11/28 00:02
Yahoo用formとGoogle用formの検索ワード項目を隠し項目にしておき、submitしたときに共通の検索ワードをそれぞれの隠した検索ワード項目に取り込むようにします。

2   名前: GABRIEL : 2004/11/28 00:25
すいません。どのように書けばよいのかわかりません。

どのように書けばよいのか書いてみてもらえないでしょうか?

3   名前: みや : 2004/11/28 15:05
HTML だけでは無理だと思います。JavaScript を併用すれば可能です。

>1 のくこひさんが仰っているのは、各フォームの submit 時に、共通検索語を入力した input から value をコピーする、ということだと思いますが、

> GABRIELさん
Yahoo! と Google それぞれのフォーム構造を提示してもらわないと、サンプルを書きづらいです。


【追記】試してませんが。

<p><input type="text" name="mysearch" value=""></p>

<form action="http://search.yahoo.co.jp/bin/search" onsubmit="copyValueTo(this.elements['p']); ">
<p>
<input type="submit" value="Yahoo! 検索">
<input type="hidden" name="p" value="">
<!-- その他必要なパラメータ -->
</p>
</form>

<form action="http://www.google.co.jp/search" onsubmit="copyValueTo(this.elements['q']); ">
<p>
<input type="submit" value="Google 検索">
<input type="hidden" name="q" value="">
<!-- その他必要なパラメータ -->
</p>
</form>

<script type="text/javascript">
function copyValueTo(inputElement) {
inputElement.value = document.getElementsByName('mysearch')[0].value;
}
</script>

一覧へ戻る