
JavaScriptとperlとMySQLでデータベース内を検索するような仕組みを作りました。が動作が上手くいきません。
「うまくいかない点」
フリーワード検索欄を設けキーワードを入力後Enterを押すと検索されずに同じ画面が表示される
「仕掛け」
1.ラジオボタンで検索の種類を選んでもらいます。
<INPUTtype="radio"name="r_b"VALUE="F"checked>
<INPUTtype="radio"name="r_b"VALUE="A">
2.検索ボタンをクリックした際にヘッダーに書かれているJavaScriptで振り分けてCGIファイルに飛びます。
<SCRIPT>
functionsend(){
vari;
if(document.form_a.r_b.length){
for(i=0;i<document.form_a.r_b.length;i++){
if(document.form_a.r_b[i].checked){
varck_b=document.form_a.r_b[i].value;
}
}
}else{
if(document.form_a.r_b.checked){
varck_b=document.form_a.r_b.value;
}
}
if(ck_b=="A"){
document.form_a.action=""+document.form_a.KENSAKU.value;
document.form_a.submit();
}elseif(ck_b=="F"){
document.form_a.action=""+document.form_a.KENSAKU.value;
document.form_a.submit();
}
}
</SCRIPT>
上記のような感じです。
最初はこれでも良いかと思ったのですが、結局どこのサイトでもフリーワード欄にキーワードを入力した後にわざわざ検索ボタンをクリックするのではなくエンターキーを使用している事に気がつきました。
また、そのほうが使用頻度が多い方にとって良いと思いいろいろ考えたのですが、良い知恵が浮かびませんでした。
どうか良きアドバイスをいただけないでしょうか?
お願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
#1はqが渡らないので改訂版
<form action="http://www.google.co.jp/search">
<input type=hidden name=q>
</form>
<form action="http://search.goo.ne.jp/web.jsp">
<input type=hidden name=MT>
</form>
<form onsubmit="return myfunc(this)">
<input type=text name=q>
<input type=radio name=rb1 value=0>google.com
<input type=radio name=rb1 value=1>goo.ne.jp
<input type=submit>
</form>
<script>
function myfunc(frm)
{
for(i = 0; i < frm.rb1.length; i++){
if(frm.rb1[i].checked){
document.forms[i].elements[0].value = frm.q.value;
document.forms[i].submit();
return false;
}
}
return false;
}
</script>
No.1
- 回答日時:
前の質問も含めてこんな感じ
<form onsubmit="return myfunc(this.rb1)">
<input type=text name=q>
<input type=radio name=rb1 value="http://aaa">aaa
<input type=radio name=rb1 value="http://bbb">bbb
<input type=submit>
</form>
<script>
function myfunc(rb)
{
for(i = 0; i < rb.length; i++){
if(rb[i].checked){
//alert(i);
location.href = rb[i].value;
return false;
}
}
return false;
}
</script>
この回答への補足
ご回答頂き本当にありがとうございました。
上記プログラムだと
<input type=text name=q>
にフリーワードの言葉が入れられると判断しました。が、そのフリーワードの言葉をパラメータで渡したい場合どのような書き方になるのでしょうか?
ご教授いただけないでしょうか?
お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
submitした値を返したい
-
formのsubmitイベントの発生に...
-
FormのonsubmitでJavaスクリプ...
-
1つのform内に2つのsubmitボタ...
-
フォームのvalueに配列を格納す...
-
指定したタグを書き換えるには?
-
C# 配列などの受け渡し
-
iframe内のformをサブミットす...
-
javascriptでASPにデータを渡す
-
submitボタンを上につけたい
-
JavaScript:現在フォーカスの...
-
return trueとreturn falseの用...
-
【jQuery】input nameの文字列...
-
プルダウンで選択すると、DBの...
-
ボタン無しでフォーム内容送信
-
【jsp/Java】チェックボックス...
-
テーブルの項目の値取得
-
onchangeイベントを強制的に発...
-
html selectの内容を初期値に戻す
-
ボタンをクリックして文字を置...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つのform内に2つのsubmitボタ...
-
submitした値を返したい
-
1つのformで複数のactionをボタ...
-
POST時に要素を削除してからPOST
-
別ウィンドウへのsubmitの挙動...
-
iframe内のformをサブミットす...
-
Cookieに保存されない
-
submitボタンを表示することな...
-
フォームが空欄の時にフォーム...
-
FormのonsubmitでJavaスクリプ...
-
javascriptでASPにデータを渡す
-
[javaScript] form action
-
1つのページにformを2つ設置。2...
-
ENTERキーを無効にしたいのです...
-
cleartextを二つする
-
javascriptで .jpg , .jpeg , ....
-
focus()が上手くいかない
-
MacIE5でフォームを送りたい。...
-
Javascriptでlocation.hrefが妙...
-
POSTされた値でイベント実行
おすすめ情報