フォーム内でループ表示したリンク項目をクリックすると、各リンク項目が持つidと同じidを持つ別ページのリンク先へジャンプするHTMLを作成しています。

リンク項目はそれぞれ1月〜12月のidを持っていて、例えば9月(id=09)のリンクをクリックすると、別ページの同じid=09を持つリンク先へ飛ぶようにしたいです。
下記の場合、全てのリンクが別ページのid=09のリンク先へ飛ぶ状態です。<form action="abc.php?....の後に、その都度選択されるリンクのidを指定する方法を教えて頂けると助かります!よろしくお願いします。<(_""_)>

<form action="abc.php?09" name="link" method="post">
<?php
$ct=0;
while($data = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>".$data["month"]."</td>";
echo "<td>
<a href='javascript:document.form.submit();'></a>
<input type='submit' name='".$data["month"]."' value='".$data["name"]."'>
</td>";
echo "<tr>";
$ct++;
}
?>
</form>

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2014/09/10 00:35:18
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

ポイント100pt

javascript を使います。
こんな感じでしょうか。

<script>
function jump(btn) {
    var f = btn.form;
    f.action = "abc.php#" + btn.name;   // ここで、リンク先を設定
    f.submit();
}
</script>

<form action="abc.php?09" name="link" method="post">
<?php
    $ct=0;
    while($data = mysqli_fetch_array($result)) {
        echo "<tr>";
        echo "<td>".$data["month"]."</td>";
        echo "<td>
        <a href='javascript:document.form.submit();'></a>
        <input type='submit' name='".$data["month"]."' value='".$data["name"]." onclick='jump(this)'>
        </td>";
        echo "<tr>";
        $ct++;
    }
?>
</form>

不要な A タグがあったりしますが、極力、質問のコード そのままにしました。

  • <script> を追加して、javascript の関数をひとつ定義します。
  • <input type="submit"> のボタンに onclick の関数を追加します(回答では、見切れてます)。
    関数名は、何でも構わないですが、仮に jump() としました。
  • そのまま、残してありますが、form の action 属性は、削除してかまいません。
    関数 jump() で設定しているので。
id:m0r1y055tan

a-kuma3さん
いつもお世話になってます^ - ^ 早速回答有難うございました。
いただいたコードのJavascriptの f.action = "abc.php#"を f.action = "abc.php?"に変更したら、思い通りのリンクが作成できました!う、うれしいっ o( > v < )o
あと、input type内のnameはidの誤りでした。質問にidと書いておきながら失礼しました。
こんなに早く解決できて本当に助かりました!!!  <( ^ _ ^ )>

2014/09/10 00:34:41

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません