OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

テキストエリアからボタンによって送り先を変えるには?

  • 困ってます
  • 質問No.222662
  • 閲覧数133
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 62% (30/48)

こんにちは。

ひとつのテキストエリアから、ボタンの違いによって送り先を変更することは可能なのでしょうか?

具体的にやりたいことは、「検索デスク」と言うサイトのように、入力フォームは同一でもボタンの違いによって送り先が変わっています。
やりたいことは「検索デスク」さんと同一なのですが、ソースを拝見しても良くわかりませんでした。

大手のサーチエンジンの検索窓を羅列することはできるのですが、もう少しスマートにしたいです。(^^ゞ

わたしのスキルは質問ID195803のとおり、JavaScriptを良く理解していないようです。

よろしくおねがいします。<(__)>
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル12

ベストアンサー率 75% (398/526)

検索に必要なフォームの内容は、検索サイトごとに異なります。
ですので、検索サイトごとにフォームを用意して、押されたボタンによって使うフォームを切り替えるとよいでしょう。
必要なフォームの内容は、検索サイトごとに用意されていますので、それを利用します。(参考URLを参照)
ただし、そのままでは検索窓などが表示されてしまうので、type を hidden にして下さい。(スタイルシートの display:none を使うと、NNで動作しないようです。)
下記に、IE5.5 / NN4.7 / NN6.2 動作確認済みのソースを記載します。

■HEAD内
<SCRIPT language="JavaScript"><!--
function search(btn) {
  with (window.document) {
    forms[btn.name][ forms[btn.name].alias.value ].value = btn.form.word.value;
    forms[btn.name].submit();
  }
}
//--></SCRIPT>

■BODY内
<!-- 共通入力フォーム -->
 <FORM>
  <INPUT type="text" name="word">
  <INPUT type="button" name="google" value="Google 検索" onClick="search(this)">
  <INPUT type="button" name="yahoo" value="Yahoo! 検索" onClick="search(this)">
 </FORM>
<!-- Google フォーム -->
 <FORM name="google" action="http://www.google.com/search" target="_blank">
  <INPUT type="hidden" name="alias" value="q">
  <INPUT type="hidden" name="q" value="">
  <INPUT type="hidden" name="hl" value="ja">
 </FORM>
<!-- Yahoo! フォーム -->
 <FORM name="yahoo" action="http://search.yahoo.co.jp/bin/search" target="_blank">
  <INPUT type="hidden" name="alias" value="p">
  <INPUT type="hidden" NAME="p" value="">
 </FORM>

# 各検索サイト用フォーム内にある alias という名の hidden オブジェクトは、スクリプトを簡単にするための工夫です。
# 検索サイトを追加する時は、検索ボタンの name と、サイト用 FORM の name を、同じ名前にして下さい。
補足コメント
takahito

お礼率 62% (30/48)

ありがとうございます(T_T)
感動のあまり涙が出そうです。(笑)

サンプルをそのまま使用させていただいたところ、まさに求めていたものが再現できそうです。
コレを元に他の検索エンジンも自分で加えてみたいと思います。

この事で色々検索していたのですが見つけることが出来ず、困っておりましたのでとても助かりました。

解決しましたが、実際に作成してみますので1日ほど、質問は締め切らずにおきます。

重ねて、ありがとうございました。
投稿日時 - 2002-02-22 16:22:50
お礼コメント
takahito

お礼率 62% (30/48)

スクリプトを参考にして、思い通りに出来ました。
どうも、ありがとうございました。
投稿日時 - 2002-02-24 11:47:20
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル12

ベストアンサー率 41% (245/593)

<HTML> <HEAD> <Script Language="JavaScript"> function form_submit2() { document.submit_form.action = "test2.html"; document.submit_form.submit(); } </ ...続きを読む
<HTML>
<HEAD>
<Script Language="JavaScript">
function form_submit2()
{
document.submit_form.action = "test2.html";
document.submit_form.submit();
}
</Script>
</HEAD>
<BODY>

<form action = "test1.html" method = "post" name = "submit_form">
<input type = "text" name = "hoge"><br>

<!-- test1 へ遷移 -->
<input type = submit><br>
<!-- test2 へ遷移 -->
<input type = button onClick="form_submit2()"><br>

</form>

</BODY>
</HTML>

こんな感じでしょうか?

内容としては下のボタンを押下したときにJavaScriptのform_submit2という関数を呼び出します。
その関数の中身でFormのSubmit先を変更してその後に強制的にSubmitさせます。
補足コメント
takahito

お礼率 62% (30/48)

早速の回答ありがとうございます。

送り先のサーチエンジンに入力キーワードを検索させたいのですが、Submitさせるだけで可能でしょうか?

ちょっと試してみましたが、できませんでした。
(test.htmlをhttp://www.google.com/searchに変更してみました)
私の理解が間違っているのでしょうか?
投稿日時 - 2002-02-22 12:18:15


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ