プロが教える店舗&オフィスのセキュリティ対策術

使用しているブラウザが「Netscape Navigator」なのか「Internet Exploror」なのか調べて、入力項目数をかえるようにしたいと思います。

<script language="JavaScript">
<!--
if(navigator.appName == "Microsoft Internet Explorer"){
:
:
}
// -->
</script>

:
:
for(i=0; i<num; i++){
 <input type=text name="in99" value="" size="5">
}

CGIをCで作成しています。ここで使っているnumをブラウザによって可変にしたいのです。
次ページへのデータ引渡しのバイト数がIEでは制限があるようなので(2048byte)このようなことを考えたのですが、Javascriptで得た結果をCの中で使うことなのでできないように思います。こういうことをする方法はあるのでしょうか?どうか教えてください。

A 回答 (1件)

Javascriptの変数の値をCに渡せればいいんですよね?


それなら、hiddenを使うという手があります。

<form action="/cgi-bin/sample.cgi" method="get">
  <input type="hidden" name="num">
  <input type="button" value="送信" onClick="javascript:xxx(this.form)">
</form>

<script language="Javascript">
<!--
function xxx(form) {
  var num = 100;
  form.submit();
}
//-->
</script>

そうすれば、
  http://???/cgi-bin/sample.cgi?num=100
ということになりますから、
あとはCで、環境変数からnumの値を拾えばいいというわけです。
    • good
    • 0
この回答へのお礼

ありがとうございました。
根本的解決ではありませんが、ブラウザの種類を調べてIEではメッセージを出すことで対応しました。

お礼日時:2003/08/08 08:29

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