form送信でテキストがバイナリになる

このQ&Aのポイント
  • form送信でテキストがバイナリになる問題について
  • form(post)で「」というデータを送信したいが、バイナリで受け取られる
  • 質問内容の要約
回答を見る
  • ベストアンサー

form送信でテキストがバイナリになる

form(post)で「&#xE63E;」というデータを送信したいのですが、 手入力で送信するとサーバ側で「&#xE63E;」のままデータを受け取ることができます。 しかし、スクリプトに直接書いて送信するとバイナリで受け取ってしまいます。 これを避けたいのですが(全てテキストで受け取りたいです) これはHTTPの仕様なんですか? もう少し具体的に書くと <input type="text" name="test" value=""> このテキストボックスに「&#xE63E;」と入力するとテキストで受け取れます。 しかし、 <input type="text" name="test" value="&#xE63E;"> これでそのまま送信するとバイナリになってしまいます。 環境 apache2 php4.0 IE6.0 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

実体参照形式になってますので、&をエスケープすれば良いのでは。 <input type="text" name="test" value="&amp;#xE63E;">

nicname
質問者

お礼

ご返答ありがとうございます。 実はこの文字「&#xE63E;」はドコモの絵文字なんです。 携帯で見ると絵文字として表示されるので&をエスケープしたくありません。 送信するときだけjavascriptでエスケープするとできそうですが。。。 恐縮ですがほかに方法があれば教えてください。

関連するQ&A

  • formタグ

    HTMLで、formを使用し、CGIへテキストエリアのデータをpostしたいと 考えております。 テキストエリアを3つ、ボタンを1つ設けるならば 通常以下のようにすると思います。(必要部分の抜粋) <form action="foo1.cgi" method="post" ENCTYPE="multipart/form-data"> <input type="text" name="text1" value="text1" size=50 maxlength=100> <input type="text" name="text2" value="text2" size=50 maxlength=100> <input type="text" name="text3" value="text3" size=50 maxlength=100> <input type="submit" name="aaa" value="実行"> </form> こうすると、実行ボタンをクリックすると、text1、text2、text3のテキストエリアに 記述されているテキストが送信されますが、ここにボタンをもう一つ設け、 上記3つのデータを別のCGIに送信したいのですが、 この場合どのようにHTMLを記述したらよいでしょうか? 新たに下記のようにformタグを設けると、テキストエリアは6つになってしまいますし。。。 <form action="foo2.cgi" method="post" ENCTYPE="multipart/form-data"> <input type="text" name="text1" value="text1" size=50 maxlength=100> <input type="text" name="text2" value="text2" size=50 maxlength=100> <input type="text" name="text3" value="text3" size=50 maxlength=100> <input type="submit" name="aaa" value="実行2"> </form> どなたか分かる方情報頂けますか。

    • ベストアンサー
    • HTML
  • 全ページ form textにvalue=""を入れるのを忘れた

    お世話になります。 大バカなことをしてしまいました。助けてください。 全ページにわたり、フォームがあるのですが、 全ページにわたって、 <form method="post" action="sample.php" name="test"> <dl> <dt><input class="mailBox" type="text" size="20" name="data[email]"/></dt> <dd><input class="submitBtn" type="submit" value="送信"/></dd> </dl> </form> と、書いてしまいました。そうです、dtの入れ子になっているinput textに value=""を入れるのを忘れてしまいました。 そこでJqueryを使って、valueがない場合、value=""追加して書こうと思っていて以下のように書きましたがうまくいきません。どうすればよいか、教えてください! $(function(){ if(!$('form :text[value=""]')){ $("this").html('form :text[value=""]'); } });

  • javascript form送信後の動作

    以下のスクリプトでiframeにデータは送信できているんですが、<input type="text">に入力したテキストが残ってしまいます。どのように記述したらうまくいくでしょうか? <script type="text/javascript"> function send(){ var frm=document.txt_submit; frm.submit(); frm.reset(); } </script> <form name="txt_submit" action="log.cgi" method="post" target="log" autocomplete="off"> <input type="text" name="ctxt" size="20" value=""> <input type="button" value="送信" onclick="return send();"> </form>

  • PHPでformで送信された結果のページを取得

    例えば、 http://www.example.com/test のページに、以下のようなフォームがあり、 <form name="form" method="post"> <input type="text" name="key" value="" /> <input type="submit" name="submit" value="送信" /> </form> 例えば、文字数をカウントするプログラムを作ったとして、 テキストBOXに適当な文字、例えば「テスト」と書いて送信をクリックすると、 URLをそのままで、テキストBOXに入力された「テスト」の文字数である「3」と表示するような事をPHPで作ったとします。 これは、手動で実際に入力して送信をクリックしなくても、 PHPで操作して、結果ページの情報を取得することって可能ですか? PHPでテキストに書く文字を指定して、(仮想的に)送信を押して、表示されるページのHTMLソースを取得したいのです。 もし可能でしたらお願いします。

    • ベストアンサー
    • PHP
  • Formに関する質問です

    すみません、カテゴーが違ってたみたいで再度質問させて頂きました。 次のようなformを作りましたが、CGIのプログラムが いまいちわかりません。どなたか教えて頂けませんか。 <HTML> <TITLE>TEST</TITLE> <BODY> <FORM ACTION="test.cgi" METHOD="POST"> 氏名<INPUT TYPE="TEXT" NAME="simei"> 住所<INPUT TYPE="TEXT" NAME="jyusyo"> <INPUT TYPE="Submit" value="データ送信"> <INPUT TYPE="Reset" value="リセット"> </FORM> </BODY> </HTML> 送信すると名前と住所が表示される内容です。

    • 締切済み
    • CGI
  • フォームの一部をPOSTで送信できますか?

    フォームのPOST自体をあまり理解できていないかも知れないのですが・・・ onClickイベントでJavascriptでパラメータを送信したいと思っています。 <input type="text" name="text1"> <input type="text" name="text2"> <input type="text" name="text3"> <input type="text" name="text4"> <input type="text" name="text5"> <input type="button" value="ボタン1"> <input type="button" value="ボタン2"> <input type="button" value="ボタン3"> というようなフォームがあった場合、ボタン1を押したらtext1とtext2の値を、 ボタン2を押したらtext1とtext3の値を・・・という風に 送信する内容を変えたいのですが、それをPOSTで渡すことは可能なのでしょうか? ちなみに送信したい内容は、ボタンが違っても重なっているものもあります。 また可能であれば、どう記述すればよろしいでしょうか?(NNです) よろしくお願いします。

  • formによるパラメータ送信がうまくいきません

    こんばんは。 HTML初心者です。 formによるパラメータを送信しようと考えているのですが、 送信方法によってパラメータが異なってしまい、困っています・・・。 以下のようなformを使って、パラメータをpostしています。 <form name="form1" action="http://xxx/xxx/xxx" method="post"> <input type="text" name="text1"> <input type="submit" value="sousin" name="submit1"> </form> 送信してみたところ、送信方法によって、送るパラメータに差異があることに気が付きました。 ************************************************** 1.テキストに文字列を入れて、送信ボタン(sousin)を押す。 ->リクエストパラメータが、submit1=sousin と text1=文字列 になる。 2.テキストに文字を入れて、フォーカスがテキストにある状態で、Enterを押す。 -> リクエストパラメータが、text1=文字列 だけになる。 ************************************************** 1.と2.どちらの場合でも、 submit1=sousin と text1=文字列 を送りたいと考えています。 クエリストリングは使いたくないので、 onclickをつけてみたり、JavaScriptで少し考えてみましたが、 どうしてもうまくいきませんでした・・・。 2.のように、Enterを押したときでも、 submit1=sousinを送るようにするのはどうしたらよいでしょうか?? 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • 別formのhidden項目を自form値として送信したい

    同ページ内に <form name="form1" action="aa"> <input type="text" value="123"> <!-- hidden項目は無い場合もある --> <input type="hidden" name="form1_1" value="xxx"> <input type="hidden" name="form1_2" value="yyy"> <input type="submit"> </form> <form name="form2" action="bb"> <input type="text" value="456"> <input type="hidden" name="form2_1" value="www"> <input type="hidden" name="form2_2" value="zzz"> <input type="submit"> </form> といった感じのformタグをおいています。 そこで、form2を送信する時に、form1のhiddenのみform2のformValueとして送信したいのですが、どんな風に飛ばしたらよいのでしょうか? というより、from2を飛ばすときに、他のformのhidden項目があったら自formの値として送信することってできるんでしょうか? javascriptでできるんでしょうか? 素人質問ですいませんが、何か足がかりになるようなものをご教授いただければと思います。

  • FORMを教えてください

    全くの素人で、どなたか教えて下さい。 <HTML> <TITLE>TEST</TITLE> <BODY> <FORM ACTION="test.cgi" METHOD="POST"> 氏名<INPUT TYPE="TEXT" NAME="name"> 住所<INPUT TYPE="TEXT" NAME="tokoro"> <INPUT TYPE="Submit" value="データ送信"> <INPUT TYPE="Reset" value="リセット"> </FORM> </BODY> </HTML> 名前と住所を記入して送信ボタンを押したら記入した内容が表示されるCGIプログラムを教えて下さい。 #!/usr/local/bin/perl print "Content-Type: text/html"; print "<html>\n"; print "<head><title>TEST</title></head>\n"; print "<body>\n"; #受け取ったデータを表示する print "氏名=$in{'namae'}\n"; print "住所=$in{'tokoro'}\n"; print "</body>\n"; print "</html>\n"; exit; とした場合 氏名= 住所= しか表示されません。 何が足りないのでしょうか?

    • 締切済み
    • CGI
  • <form>タグに2つのボタン

    <form>タグで2つのボタンを表示させ、以下のようにそれぞれのボタンで フィールドに別の値を入れて送信させることはできますでしょうか? できればHTMLで、できなければJavaScriptでできますでしょうか? ・button1を押したときは  フィールド「CASE」に1を入れて送信、  HTMLで書くと、<input type="hideen" name="CASE" value="1"> ・button2を押したときは  フィールド「CASE」に2を入れて送信、  HTMLで書くと、<input type="hideen" name="CASE" value="2"> ===== HTML ====================== <form action="test.cgi" method="post"> <input type="text" name="text1"> <input type="submit" value="button1"> <input type="submit" value="button2"> </form> 宜しくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう