とっておきの「まかない飯」を教えて下さい!

チェックボックスにチェックされたものについて、データベースで条件検索をしたいです。

形としては、チェックボックスで任意にチェックできて、最後に送信ボタンを押すと検索結果ページがでてくる仕組みにしたいです。

いちおうこうなってくれればいいんだけど、っていうのがあるんですけど、
例えば、
□goo
をチェックすると
http://www.abc.com/database.cgi?table=xx&search= …
のように語尾に&search=gooがくっついた形でリンクをさせたいです。
チェックが複数の場合は、
□goo
□教えて
□神様
だとすると、
http://www.abc.com/database.cgi?table=xx&search= …教えて,神様
のように,で区切ってリンクをさせたいです。

ちなみに、使ってるデータベースはHeRO DBです。

よろしくお願いします。

A 回答 (3件)

遅くなってすみません。


こんな感じでどうでしょうか?
3つともチェックを入れるとこうなります。
 http://www.abc.com/database.cgi?table=xx&search= …教えて,神様

ちなみにJavascriptを使わず、ただsubmitするとこうなりました。(IE6)
 http://www.abc.com/database.cgi?table=xx&search= …
---------------------
<html>
<head>
<script>
<!--
function test() {
  var param = "";
  var f = document.forms[0];
  var chk = f.search;
  if(chk) {
    if(chk.length) {
      // チェックボックスが複数のとき
      for(var i = 0 ; i < chk.length ; i++) {
        if(chk[i].checked == true) {
          if(param != "") {
            param += ",";
          }
          param += chk[i].value;
        }
      }
    }
    else {
      // チェックボックスが1つしかないとき
      if(chk.checked == true) {
        if(param != "") {
          param += ",";
        }
        param += chk.value;
      }
    }
  }
  // ページを飛ばす
  location.replace(f.action + "?table=xx&search=" + param);
}
//-->
</script>
</head>
<body>
<form action="http://www.abc.com/database.cgi" method="get">
<input type="hidden" name="table" value="xx">
<input type="checkbox" name="search" value="goo">goo<br>
<input type="checkbox" name="search" value="教えて">教えて<br>
<input type="checkbox" name="search" value="神様">神様<br>
<input type="button" onclick="test()" value="click me"><br>
<input type="submit" value="submit">
</form>
</body>
</html>
    • good
    • 0
この回答へのお礼

ありがとうございました。大変参考になりました。
自分でも本やホームページを見ながらなんとかつくってみました。また、プログラミングに行き詰ったら質問にきたいと思います。この度は本当にありがとうございました。

お礼日時:2005/05/22 21:02

送信ボタンをクリックしたときのJavscriptで


チェックボックスのチェック状態を見ながら
URL文字列にパラメータを付加していって
そのURLに飛ばせばいいのではないでしょうか?

この回答への補足

私のしたいことはまさしくそれです。
ただ、URL文字列にパラメータを付加していって、というプログラムの書き方どうしてもわからないんです。

どのように書けばいいのか具体的に教えていただけないでしょうか?

補足日時:2005/05/14 00:30
    • good
    • 0

Javascriptの問題ではないのですね。



で、
http://www.abc.com/database.cgi?table=xx&search= …教えて,神様

はHTMLの使用としては不可能です。
PerlとかPHPなどで加工すればできないことはないですが、加工するときは一旦受け取らなければいけないので、意味がありません。
(値を送信 -> スクリプトで処理 -> 結果表示 が本来の処理。
質問の処理では
値を送信 -> スクリプトで加工 -> 加工した値を送信 -> スクリプトで処理 -> 結果表示
と、工程が増えるだけ無駄です)

要するに処理するスクリプトの問題です。
    • good
    • 0
この回答へのお礼

この度はありがとうございました。
方法としてはいろいろなのもがあるのですね。
自分なりにあれこれ模索してみたいと思います。

お礼日時:2005/05/22 21:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報