プロが教えるわが家の防犯対策術!

オンラインゲームのようなものを作ろうとしているんですが、JavascriptからCGIに変数を送る方法がわかりません。 ネットでも検索してみたんですがなかなかいい結果が得られません。

そこで、JavascriptからGCI(できればCGIからJavascriptも)に変数を送る方法か、それが載っているサイトを紹介してください。

A 回答 (2件)

以前、こちらで「auty」氏から教わった方法はどうでしょう(参考URL)。


かなりショッキングなコードでかなりおどろきました。

HTMLのタグへの記述は関数呼び出し以外すべてJS内で処理できると思います。
ついでに実験用にいじったサンプルコードも載せときます

<html>
<head>
<script type="text/javascript">
<!--
function formSubmit() {
var MyForm = document.createElement("form");
document.body.appendChild(MyForm);
with(MyForm) {
var T1 = document.createElement("input");
T1.setAttribute("name","T1");
T1.setAttribute("value","TEST T1");
appendChild(T1);

method = 'post';
action = './test.cgi';
submit();
}
}
//-->
</script>
</head>
<body>
<a href="#" onclick="formSubmit();return false;">create form and Submit</a>
</body>
</html>

参考URL:http://hiroba.kodate.jp/qa4146385.html
    • good
    • 0

JavaScript の値(変数に限らず定数でも演算結果でも)を CGI に送るのは、普通はCGIパラメーターで場合によっては Cookie でしょうね。



CGIパラメーターの場合、以下の FORM と関数だけでOKだと思います。

<form method="get" action="" onsubmit="onSubmit()">
<input type="hidden" id="JSVAL" name="jsval" value="">
その他の inputタグとか他のタグとか....
<input type="submit">
</form>

function onSubmit() {
document.getElementById('JSVAL').value = 'JavaScript の値だよ';
return true;
}



CGI の値を JavaScript に伝える方法はケースバイケースですが、基本的なのは適当な scriptタグ中に JavaScriptの変数宣言+代入を含める事ですね。 その代入が実行されるタイミングには注意してください。

<html>
<head>
<script type="text/javascript">
<!--
var cgiVal = 'CGI の値だよ';
// -->
</script>
......
    • good
    • 0
この回答へのお礼

やってみたら、できそうです!
悩みのタネがやっとなくなりました。
どうもありがとうございました。

お礼日時:2008/12/14 21:21

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