• ベストアンサー
  • 困ってます

リンク先へパラメーターを渡す

type=submitが実行されると、そのフォーム内にある データが送信されるように、リンクをクリックされたとき あるデータをパラメータとして次ページに渡したいのですが、 どうすればよろしいのでしょうか? 色々な方法を教えていただければ、嬉しいのですが?

noname#149114
noname#149114

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数1464
  • ありがとう数3

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

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

 えとですね。  いちばん簡単なのは、   <a href="wwwww.cgi?a=1&b=2">  とすることです。これは、   <form action="wwww.cgi" method="get">   <input name="a" value="1">   <input name="b" value="1">   </form>  と同じ意味になります。URLの?のあとにパラメータを渡した場合、それらは<FORM>タグのmethodオプションに"get"をしていしたものとして扱われます。  また、普通にフォームタグで   <form action="wwww.cgi" name="abc">   <input name="a" value="1">   <input name="b" value="1">   </form>   <a href="JavaScript:document.abc.submit()">    ここをクリックする   </a>  とする方法もあります。これは、<input type=submit>の変わりに<a>タグを使ってSubmitするためのメソッドを直接呼び出す例です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

たいへん参考になりました。 さっそく使ってみたいと思います。 適切なアドバイスありがとうございました。

関連するQ&A

  • 検索結果のGetパラメータが残る?

    検索結果のGetパラメータが残る? テキストベースのファイルからキーワード検索をさせているのですが、検索結果をページ分割(次の10件とか)して結果表示させたときに、 例として 「猫」+「白」のキーワード検索した場合に 10ページ分の検索結果があり、検索結果を10ページまで表示させた後に 「猫」+「黒」の再検索で結果結果が5ページまで見つかったのにもかかわらず、 「猫」+「白」で検索し表示したページ番号の10ページが残ってしまい検索結果としてはTrueですが、 ページ番号10ページのGetパラメータが残ってしまいます。 検索フォームと検索結果のページはPHPで同じページに表示するようにしていますが、 <input type="submit" value="データ検索"> の送信ボタンの上でマウスを乗せた時にGetパラメータとして「ページ10」が残っています。 スクリプト内ではフォーム内は $_SERVER['SCRIPT_NAME']; で実行しています。 このような問題の経験があるかたがいらっしゃいましたらアドバイス願います。 いろいろとデバッグして変数の初期化ブラウザのキャッシュ対応(Metaやキャッシュヘッダーなどで解除)したりしてますが解決方法が見出せません。 暫定的な対応としては、検索フォームと検索結果の表示を別ページにして検索は検索、結果は結果といった対応をしています。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • formでENTERとSUBMITボタンを押した場合のパラメータの分け方

    formでenterキーを押して内容を送信した場合とSUBMITボタンを押して内容を送信した場合でパラメータによって場合わけしたいのですがどのようにすればよいでしょうか? SUBMITボタンをクリックした場合は以下のように記述をすればbを使うことができるのですが <input id="a" type="submit" name="b" value="ボタン" /> ENTER用のパラメータをつけるやり方がわかりません。 回答よろしくお願いいたします。

  • 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
  • リンク先にパラメータを渡す方法

    よろしくお願いします。 現在、複数ページにリンクボタンがあり、これを押すと別ウィンドウでページAが開くようになっています。このリンクボタンからページAにパラメータを渡すことで、押すリンクボタンによってページA内の一部の文章が変わるようにするには、どうすればいいでしょうか? たとえば、「Bについて」というリンクボタンを押すと、ページAの一部のテキストも「Bについて」を表示されるようにしたいです。

    • ベストアンサー
    • CGI
  • javascriptでリンク先にパラメータを渡したい

    御世話になります。 INPUTボックスに入れた文字列をsubmitせずに 別ウィンドウで開くリンク先にパラメータとして渡したいのですが、方法が分かりません。 別ウィンドウを開くことは出来るのですが、パラメータが送れない状態です。固定の文字列ならおくれるのですが・・・ よろしくお願いします。

  • onclickイベントでの二重送信防止に関して

    onclickイベントでフォームの二重送信の防止をしたいと考えています。 <input "type="submit">が一つしかないページでは、 <input "type="submit" onclick="this.disabled=true;this.value='送信中';this.form.submit();" value="送信"> でうまくいったのですが、 2つ以上あるページだと、クリックすると空白のページに飛んでしまい、フォームが送信できませんでした。 どのようにすれば、<input "type="submit">が2つ以上あるページでも、この方法で二重送信防止を作動させることができるでしょうか。 ご教授よろしくお願いいたします。

  • ブラウザーの戻るボタンを押して戻ったときのみJavaScriptを実行したい

    スタートページ[1]がありSubmitボタンを押すと、そこから別のページへ[2]リンクし、[3]等へつながります。 [2]や[3]等から[1]にブラウザーの戻るボタンを教えて戻った場合にとあるJavaScriptのコードを実行したいのですが、戻った際にページの再読込をなるべくさせずに行いたいです。 現在、Submitボタンを押すと同時に押したときのパラメータをCookieにも保存してあります。 方法としては以下の2パターンが考えられますが、いずれも方法が分かりません。 ・ページの表示が再び有効になる際、cookieにデータがあればそのデータを使う。 ・ブラウザーの戻るボタンを押した事を判定するコードを使ってフォームを再現する。 御指南頂けませんでしょうか。お願いします。 -------------------------------------------------- 何をしているかといいますと、DHTMLで複数のselectフォームを左から順に、前の項目によって次の項目の内容が変化する、というものを作りました。ですがフォーム送信した後、ブラウザーの戻る機能を使ってフォームのあるページに戻ると元々は[選択してください]という項目しかないために存在しないSelectボックスのOptionIndexを参照され、空白となってしまうのを避けたいのです。(new Optionを利用)

  • 1アクションでPOST・GET、両方送信したい

    1つのフォームからボタンをクリックして、 POST・GET送信と、両方飛ばすには、どうすればよいでしょうか? URLに「表示させたいパラメータ」と「表示させたくないパラメータ」 があります。 「表示させたいパラメータ」は、GETで、 「表示させたくないパラメータ」は、POST送信したいのですが、 1つのフォームで、同時に飛ばす方法が分かりません。 <form method =post action=hoge.php>  <input type=text name="piyo" value="piyo">  <input type=hidden name=puyo_id value=puyo>←これだget送信したい  <input type=submit value="送信"> </form>

    • ベストアンサー
    • PHP
  • GETパラメータの内、空文字のクエリを消去したい

    フォームからGETで複数のパラメータを送信するとき、値が空文字のものを表示しないようにすることは可能でしょうか。 たとえば、次のようなフォームを含むform.phpがあるとします。 -------------- <form action="./result.php" method="get"> <input type="text" name="id" size="40"> <input type="text" name="name" size="40"> <input type="text" name="address" size="40"> <input type="text" name="sex" size="40"> <input type="submit" value="送信"><input type="reset" value="リセット"> </form> -------------- このフォームから、 -------------- id:13 name:佐藤太郎 address:東京都新宿区適当1-2-3 sex:男性 -------------- というデータを送信した場合、送信ボタンを押すと ./result.php?id=13&name=佐藤太郎&address=東京都新宿区適当1-2-3&sex=男性 のページに遷移しますが、 -------------- id: name:佐藤太郎 address: sex:男性 -------------- ですと ./result.php?id=&name=佐藤太郎&address=&sex=男性 になります。 このままですとクエリが読みにくいので、 -------------- id: name:佐藤太郎 address: sex:男性 -------------- の場合は ./result.php?name=佐藤太郎&sex=男性 と入力値のあるものだけを表示してそれ以外は消去したいです。 というのも、例としたform.phpではパラメータは4つでしたが、現在作成しているフォームではパラメータが21あり、空文字のものも含むと、遷移後の画面のURLがとても見にくいのです。 このようにパラメータを見やすくするようなjavascriptのコードを教えてください。 jQueryは1.7を使用しています。どうかよろしくお願いいたします。

  • チェックボックスで選択されたデータをリンク先で表示させる方法。

    チェックボックスで選択されたデータを、 リンク先で表示させる方法を質問させていただきます。 ○やりたい事(以下は例) ページA・・・チェックボックスがあるページ ページB・・・Aのデータを表示させたいページ ・ページAにて。 □1 □2 □3 上の様なチェックボックスを作成し、 ■1 □2 □3(■にチェックをつけているものをします) 上のようにチェックをつけます。 ページAにあるページBへのリンクをクリック、 (このときBへのリンクはフォームの送信ボタンではない) ・ページBにて ページAで選択した項目(この場合は「1」)を、 任意の場所に表示させる。 上記の方法をご存知の方がいましたら教えて下さい。

    • ベストアンサー
    • HTML

専門家に質問してみよう