JavaScriptでCGIにパラメータを渡すには?

[上に] [前に] [次に]
アイモモ 1999/12/06(月) 15:10:25
JavaScriptをつかって、ボタンを押したら
CGIのページに飛ぶようにしました。
そうするとCGIにパラメータを渡せなくて困っています。
例えばボタンが2つあって、どちらを押してこのCGIにきたのか
を分かるようにしたいのですが・・・。
JavaScriptからCGIにパラメータを渡す方法を教えて下さい。
よろしくお願いします。

P初心者 1999/12/06(月) 15:49:37
JavaScriptからCGI起動にパラメータわたせませんか?

location="http://www〜〜〜/cgi-bin/xxx.cgi?p1=aaa&〜"

とか〜

アイモモ 1999/12/06(月) 16:35:13
locationの後に渡したいパラメータすべてを
ガリガリ書くということですね。
思い付きませんでした。。。

これだと"get"みたいな感じでパラメータが
見られてしまいますよね?
"post"みたいに隠すこともできるのでしょうか?
またまたよろしくお願いします。(^ゝ^)

無責任官庁 1999/12/07(火) 11:54:47
JavaScriptでやる以上、ソース表示すれば見えるのはしゃーないとして・・・
単純にリンクの所に表示させたくないだけなら、

<form name="hoge" action="hoge.cgi" method="post">
<input type=hidden name="data" value="なんか">
<input type=hidden name="flag" value="">

<input type=button value="ぼたん1"
onClick="document.hoge.flag.value='1';document.hoge.submit();">
<input type=button value="ぼたん2"
onClick="document.hoge.flag.value='2';document.hoge.submit();">
</form>

まあこんな感じで。
まんま <form> で、post してるだけですけど。
フォームに隠しデータを仕込むやり方です。

アイモモ 1999/12/07(火) 17:39:34
レスありがとうございます。
まだできていないのですが・・・。

<SCRIPT LANGUAGE="JavaScript"><!--
function comeback(){
    location=test.cgi;
}
--></SCRIPT>
(略)
<FORM ACTION="test.cgi" METHOD="post" NAME="group">
<INPUT TYPE="hidden" NAME="flag" VALUE="">
<INPUT TYPE="radio" onClick="document.group.flag.value='0';comeback();">あ
<INPUT TYPE="radio" onClick="document.group.flag.value='1';comeback();">か
</FORM>

このように書いてみたのですが、postのかわりにデバッグとしてget
とかいたら"test.cgi?flag=0"とリンクのところに表示できる
はずですよね?
表示されないのはどうしてでしょう・・・。(;´д`)ノ

Aurai [E-Mail] 1999/12/07(火) 21:44:32
>location=test.cgi;
これじゃ意味ありませんね
document.group.submit();
を替わりにどうぞ

アイモモ 1999/12/08(水) 08:48:39
[[解決]]
できました。
皆様、ありがとうございました。\(^o^)/

[上に] [前に] [次に]