- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cgiへのパラメータについて)
cgiへのパラメータ受け取り方法とは?
このQ&Aのポイント
- htmlのformで入力した名前をcgiで受け取ると"encstr"となります。
- エンコードした文字列を受け取るにはどのようにすれば良いか教えてください。
- <form name="js">お名前:<input type="text" name="txtb" value=""><br><input type="button" value="送信" onclick="gogo()"><br></form><script type="text/javascript" language="javascript">function gogo(){var str1=document.js.txtb.value;var encstr = encodeURI(str1); document.write('<img src="/cgi-bin/gogo.cgi?namae=encstr">');}</script>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
原因は、ご提示のコードで「encstr」という文字列を送っているからでは? encstrの内容を送りたければ、 '<img src="/cgi-bin/gogo.cgi?name=' + encstr + '">' cgi側でデコードする必要があります。 一連の質問をみていると、なんでわざわざこんな面倒なやり方をしているのか分かりませんが… cgiからは、画像データが返されるのでしょうか? まぁ、ご質問には関係がないのでかまいませんが。
その他の回答 (1)
- hanabutako
- ベストアンサー率54% (492/895)
回答No.1
目的に合わせてescape(), encodeURI(), encodeURIComponent()のどれかを使うと良いのでは? http://groundwalker.com/blog/2007/02/javascript_escape_encodeuri_encodeuricomponent_.html
質問者
お礼
回答ありがとうございます。 参考にさせて頂きます。 今回はCGIで受け取るため"encodeURI"が適当かと思います。
お礼
回答ありがとうございます。 基本的な質問でしたが、' + encstr + 'で内容が送られるのですね ' + xxx + 'この記述が文字列ではなく変数の内容と言う意味でしたか? 大変参考になりました、また実験の結果cgi側で内容が受け取れました。 ちなみに、javascriptから単にcgiを動作させるためにimg src="/を利用しました。