重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

以下のようにして、ボタンを押した際にGETで画面を遷移させてようとしています。
(ボタンのイメージ画像をクリックすると飛ぶ)

<form method = "get" acion="http://www.test.ne.jp/" target="_next">
<input type ="hidden" name="p1" value="1">
<input type ="image" src="画像URL" onclick="formのsubmitをするメソッド">
</form>

で、当然ながらhttp://www.test.ne.jp/?p1=1に行きます。

今回はここで生成されたURLに飛ばず、違うURLのパラメタにしたいと
考えています。
たとえば、上の例で言えば
http://www.test.ne.jp/" target="_blank" rel="nofollow">http://www.next.ne.jp/?url=http://www.test.ne.jp/
というURLを作って、そっちへ飛ばしたいのです。
(パラメタのほうのURLについてはエンコードしたいです)

さてOnclickで…と考えたものの、URLはボタン押された時に
出来るんで、どうしたものかと悩んでいます。
http://www.test.ne.jp/までは固定なのでいいんですが、
hiddenが動的に増えたり減ったりするので、どうやってパラメタを
作ればいいのか…。
ご教授いただけないでしょうか。

A 回答 (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-transitio …
<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
    • good
    • 0

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