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で質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FormのonsubmitでJavaスクリプ...
-
フォームが空欄の時にフォーム...
-
1つのform内に2つのsubmitボタ...
-
1つのformで複数のactionをボタ...
-
submitした値を返したい
-
複数のフォームを一括で自動送...
-
ファイル選択と同時にアップロ...
-
Chromeの document.getElementB...
-
javascript による POST 送信時...
-
【Javascript】関数へわたす
-
foreachの中で、リンクをPOST送...
-
[javaScript] form action
-
(ホームページ)フォームを使...
-
javascriptでASPにデータを渡す
-
formのsubmitイベントの発生に...
-
return trueとreturn falseの用...
-
ボタン2回押しを無効にしたい
-
<JavaScript>tableタグを入力不...
-
追加ボタンを押した際に ok ボ...
-
ハイパーリンクを別ウインドウ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでASPにデータを渡す
-
1つのform内に2つのsubmitボタ...
-
iframe内のformをサブミットす...
-
複数のフォームを一括で自動送...
-
submitした値を返したい
-
FormのonsubmitでJavaスクリプ...
-
1つのページにformを2つ設置。2...
-
フォームが空欄の時にフォーム...
-
指定したタグを書き換えるには?
-
別ウィンドウへのsubmitの挙動...
-
テキストボックスに任意のURLを...
-
focus()が上手くいかない
-
submitボタン押下後、disabled...
-
javascript による POST 送信時...
-
同意チェックボックスはひとつ...
-
onclickでリストボックスを複数...
-
this.formがundefined
-
POST時に要素を削除してからPOST
-
添付ファイルの未選択チェック方法
-
1つのformで複数のactionをボタ...
おすすめ情報