• 締切済み

escape関数を使ってgetでsubmit

お世話になります。 javascriptを使ってgetでsubmitしております。 getなので日本語などはそのままURLへ渡してしまいます。 javascriptのescape関数を使うとエンコードしてくれますが、 使い方が分かりません。 下記ソースにescape関数を用い、 エンコードしてURLへsubmitしたいのです。 宜しくお願いします。 function submit_pg() { document.form1.action='#'; document.form1.method='GET'; document.form1.submit(); }

みんなの回答

  • ESate
  • ベストアンサー率64% (11/17)
回答No.1

HTML仕様書(参考サイト)を読む限り送信されるコントロール名(name)と値(value)はエスケープされると書いてあります。 IE6.0, Opera9.1, Firefox2.0で試したところURLバーにエスケープされた値が渡されていました。 特にスクリプトでのエスケープは必要ないと思います。 しかし試されてURLに日本語が渡されるというのであれば、 状態の再現のために ・ブラウザ名及びバージョン ・form関係のスクリプトのコード、HTMLのソース WindowsでなければOSも追記してください

参考URL:
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.13
javaphp
質問者

お礼

訳のわからない質問ですみませんでした。

関連するQ&A

  • submit関数の使い方

    javascript部分 function sendform(formname){ document.formname.submit(); } html部分 <form action="test.html" method="post" name="form1"> <input type="text" name="textvalue" value="1"> </form> <a href="javascript:void(0)" onclick="sendform('form1'); return false;">click1</a> <form action="test.html" method="post" name="form2"> <input type="text" name="textvalue" value="2"> </form> <a href="javascript:void(0)" onclick="sendform('form2'); return false;">click2</a> 今は、上記のように書いています。引数でフォーム名を渡し、その値によって送信フォームを変えたいのですがうまくいきません。if文を使って if(formmei=="form1"){ document.form1.submit(); }else if(formmei=="form1"){ document.form2.submit(); } という方法も考えたのですが、フォーム名だけ変えることができないかと考えています。 よろしくお願いします。

  • submit()について

    突然ですがアドバイスをお願いいたします。 <SCRIPT LANGUAGE="JavaScript"> <!-- function aSubmit(){ document.Form1.action='xxxxx'; document.Form1.aaaaa.submit(); } --> </SCRIPT> これで“Form1”内のNAMEが“aaaaa”とついた フォームの値を送信できますよね、 ここで質問なのですが、 例えばNAMEが“aaaaa”のフォームの他に NAMEが“bbbbb”というフォームがあったとして、 “aaaaa”と“bbbbb”の値を同時に送信したいときには、 <SCRIPT LANGUAGE="JavaScript"> <!-- function aSubmit(){ document.Form1.action='xxxxx'; document.Form1.('aaaaa,bbbbb').submit(); } --> </SCRIPT> とこんな書き方でも大丈夫なのでしょうか?

  • Netscape で submit() を複数起動できない

    以前に教わった方法で、submit() を使って別ウィンドウに結果を表示させる Javascript を書きました。 IE では、できたのですが、NN(Netscape Communicator 4.7) では以下の Javascript が起動しません。 というか、最後の form3.submit() のみ起動します。submit() の間に alert(); を入れておくと 3 つのウィンドウが開くので、動くことは 動いているようなのですが...。なぜでしょう? --------ここから(ソースの一部) ---------- <SCRIPT LANGUAGE="JavaScript"> <!-- function OpenWin(){ document.form1.submit(); document.form2.submit(); document.form3.submit(); } // --> </SCRIPT> <form name="PapyrusForm" method="POST" action=""> <input type="text" name="searchword" size="60" maxlength="256"><BR> <input type="button" name="Search" value=" 検索 " onClick="OpenWin()"> </FORM> <!-- =========================================== --> <FORM ACTION="/cgi-bin/searchlist1.pl" target="window1" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" NAME="form1"> </FORM> <FORM ACTION="/cgi-bin/searchlist2.pl" target="window2" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" NAME="form2"> </FORM> <FORM ACTION="/cgi-bin/searchlist3.pl" target="window3" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" NAME="form3"> </FORM>

  • POST送信かGET送信か

       ------------------------------------------ <SCRIPT language="JavaScript"><!-- function GoPage(url, id){ document.form.action = url; document.form.id.value = id; document.form.submit(true) } // --></script> <!--中略--> <input type="submit" name="submit" value="送信" onClick="javascript:GoPage("a.php", "1")">    ------------------------------------------    上記のような処理を書いた場合、 遷移先である a.php で id(値:1)を取得する時は POSTで受け取るのですか?それともGETでしょうか?   

  • submit

    javascriptを使っているかもしれませんが、https://xxx.com/A というのがあって、次に、(HTMLの)「ボタン」を押すとそのボタン(No123)選択で「method="post" action="/A/function"」次のページ https://xxx.com/A/function に行くようになってます。一般的に、この「method="post" action="/A/function"」では、URLのコマンドラインには、https://xxx.com/A/function の後ろにどのような書式でsubmitされるのでしょうか? https://xxx.com/A/function=submit"123 などを試してみたのですが、うまくいきません。もしくは、URLのオプションでなく、別にサーバーにsubmitされているのでしょうか?上記のボタンを押さずに、URLだけで、ページを移動させたいと思っていますがうまくいきません。お教えください。

  • 別ウィンドウへのsubmitの挙動がおかしいです

    はじめまして。 ページ内の押下したボタン/リンクに応じて、それぞれ別の新しいウィンドウにフォームの値を渡して処理を行うプログラムを作成しています。 リンク1押下→ウィンドウAを開く→アドレス1に遷移 リンク2押下→ウィンドウBを開く→アドレス2に遷移 ボタン3押下→自画面でアドレス3に遷移 フォームは共通で、JavaScript内でウィンドウ及びアクションの指定を行っています。 しかし、実際に動かしてみると、以下の問題が起こりました。 ・ウィンドウを開いた後、いつまでも遷移しない(する時もある) ・ウィンドウを開いた後、意図しないアドレスに遷移することがある  具体的には、新規ウィンドウで、現在開いているアドレスへの遷移 ・フォームの値が送信されないことがある(する時もある) いろいろ調べてみたのですが、原因がわかりません。 お力を貸していただけないでしょうか。 文末に抜粋したソースを掲載します。 ブラウザはIE7、関連あるかは分かりませんが、PHPとsmartyを使っています。 宜しくお願いいたします。 【JavaScript部分】 function action1(){ document.form.action = "http://www.yahoo.co.jp" document.form.target = "_self"; document.form.submit(); } function action2(){ window.open("", 'win2', 'width=400, height=300'); document.form.action = "http://www.google.co.jp" document.form.target = "win2"; document.form.submit(); } function action3(){ window.open("", 'win3', 'width=400, height=300'); document.form.action = "http://www.msn.co.jp" document.form.target = "win3"; document.form.submit(); } 【HTML部分】 <form name="form" method="post" action=""> <input type="text" name="text1" value=""> <a href="javascript:action2();">リンク1</a> <a href="javascript:action3();">リンク2</a> <input type="button" value="ボタン3" onClick="action1()"> </form>

  • submitの分岐

    同じform内に、ラジオボタンとサブミットボタンを配置してあります。 ラジオボタンを押された時は自分をsubmit、ボタンが押された時にはsubmitして次の画面へ遷移したいのですが、分岐の方法がわかりません。 <form action="next.htm" method="post"> とやってしまうと、ラジオボタンが押された時にもnext.htmへ遷移してしまいます。 苦慮の結果JavaScriptで、ボタンを押された時にhiddenにフラグをたてておいて、 そのフラグに値が入っていれば <form method="post">、 入っていなければ<form action="next.htm" method="post">、 という分岐処理を書いたのですが、やはり両方next.htm画面へ遷移してしまいます。 お知恵を貸していただけないでしょうか。 ちなみに下記のようなスクリプトを書きました。 ----------------------------------------------- <script language="JavaScript1.2"> <!-- function chk_sub{ document.form.hdnChkFlg.value="1"; window.document.form.submit(); } //--> </script> <if form.hdnChkFlg="1"> <form method="post"> <else> <form action="next.htm" method="post"> <end if> <input type="radio" name="chkSitei" checked onclick="return chk_sub value="1">aaa</input> <input type="hidden" name="hdnChkFlg" value=""> <input type="submit" value="次へ"> </form> 宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • submit()で送れない

    <SCRIPT language="JavaScript"> <!-- function send55() { document.frm.aaa.value = "送る内容"; document.frm.submit(); } //--> </SCRIPT> <A href="JavaScript:void(0)" onclick="send55()">ここをクリック</A> <FORM name="frm" method="POST" action="test.php"> <input type="hidden" name="aaa"> </FORM> 上記内容で「ここをクリック」をクリックすると、aaaには"送る内容"がセットされるのですが、続くsubmit()が動作しないようです。 試しに<FORM>タグ内に以下の1行 <INPUT type="submit" name="test" value="送信テスト" > を追加して「送信テスト」ボタンをクリックすると正しくtest.phpが開きます。 使い方を間違っていますでしょうか? ご指導よろしくお願いします。

  • Firefox:JavaScriptのsubmit

    JavaScriptで、以下のようにsubmitしていますが、 IEではOKで、Firefoxでは「送信開始」ボタンで反応がありません。 Firefoxではどのように書けばよいのでしょうか? 以下は、テストのため省略できるギリギリまで省略していますので、意味のないスクリプトになってますが、実際にはJavaScriptで空白個所のチェックのロジックを入れています。 <html> <head> <script language="JavaScript"> <!-- function check1(){ document.FORM1.submit(); } ---> </script> </head> <form action='http://hogehoge.jp' method='post' name="FORM1"> <input type='button' value='送信開始' onClick="check1()"> </form> </body> </html>

  • submitボタンを二つ用意したい

    textに入力したものを二つのsubmitボタンで共用できるようにしたいと考えています。 作ってみたのですが、思ったように動かずに困っています。 ↓をどのように修正すれば動くでしょうか。 よろしくおねがいします。 <html> <body> <form name="hoge" action="hoge1.php" method="post"> <div class="ok_left"><input name="kw" value="" /> <script type="text/javascript"> <!-- function pushSubmit (val) { with(document.hoge){ if(val=='2'){ action = 'http://hoge.jp/hoge2.php'; } submit(); } } --> </script> <a href="javascript:pushSubmit('1');"><input name="submit1" type="submit" value="1"/></a> <a href="javascript:pushSubmit('2');"><input name="submit2" type="submit" value="2"/></a> </form> </body> </html>

    • ベストアンサー
    • HTML

専門家に質問してみよう