• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:OnClickでURL生成し、飛ばしたい)

OnClickでURL生成し、飛ばしたい

このQ&Aのポイント
  • HTMLフォームのボタンをクリックした際に、GETリクエストで画面を遷移させたいです。しかし、指定したURLに遷移するのではなく、別のURLのパラメータを生成したいと考えています。
  • 具体的には、生成されたURLがhttp://www.test.ne.jp/?p1=1である場合、http://www.next.ne.jp/?url=http://www.test.ne.jp/というURLにリダイレクトさせたいです。また、パラメータのURLはエンコードしたいと思っています。
  • OnClickイベントでURLを生成する際、固定されている部分(http://www.test.ne.jp/)は問題ないのですが、動的に追加されるhidden要素の値をどうやってパラメータに組み込めばよいか悩んでいます。ご教授いただけますか?

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

  • ベストアンサー
回答No.1

formのsubmitを実行させるのではなく、location.hrefじゃダメなんですか? もしくはurlを生成後にname="url"に値を設定し、 url以外のnameのhiddenを削除してsubmitとか。 jQueryベースですがこんな感じで。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <script type="text/javascript" src="./jquery-1.8.1.min.js"></script> <script type="text/javascript"> function jump() { if ($("input[name=test]").val() == 1) { $("input[name=url]").val("abcdefg"); $("input[name=test]").remove(); $("#frm").submit(); } } </script> </head> <body> <form id="frm" method="get" action="http://localhost/" /> <input type="button" value="click!" onClick="jump();" /> <input type="hidden" name="url" /> <input type="hidden" name="test" value="1" /> </form> </body> </html> hiddenは動的に増えようが減ろうが、それは動的に作られるはずであるnameや idを、getElementByName()、getElementById()で存在確認を行えばよいだけでは? 私は何か勘違いしてる気がしますが、解決に向けて、多少の手伝いにでもなれれば・・・。 エンコードはこれで出来ます。 http://jkl.sakura.ne.jp/labs/archives/44

関連するQ&A

専門家に質問してみよう