• ベストアンサー

リンクからPOST送信を、右クリック・新しいタブで

・下記リンクの一番下に掲載されている「テキストリンクのサンプル」で、「右クリック」した後「 新しいタブで開く」を選択した場合でも、POST送信させることはできるでしょうか? ・「右クリック」と「onclick」は違う(?)ので、無理でしょうか? http://www.confrage.com/javascript/form/form_submit/form_submit.html

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

  • ベストアンサー
  • 35fa8e3c
  • ベストアンサー率39% (9/23)
回答No.2

よゆうでできます。 aリンクタグのhrefの末尾に?とパラメータをつけ、テキストボックスにonchangeイベントを付けて、値が変わったらaリンクタグの末尾の?以降のパラメータをテキストボックスの値と同じものに変更するようなjs関数をイベントリスナに指定します。 あとhref属性の?以前の部分はjavascript:...ではなくて、form要素のaction属性に指定していたcgi等の遷移先ページです。 以下補足 onclickとリンクジャンプは別々に機能します。 <a href=# onclick=... とありますが、リンクジャンプは#へのジャンプを、onclickは...を実行した後に#へのジャンプを実行しようとします。 新しいウィンドウやタブで開く、はリンクジャンプのみ行います。 すなわちリンクジャンプのみでformデータを送信することを目指すことになります。

re97
質問者

お礼

回答ありがとうございましたー

その他の回答 (2)

  • 35fa8e3c
  • ベストアンサー率39% (9/23)
回答No.3

すみません補足します。 ~アンカーの場合~ URLに情報を載せるという点で?の他に#を使う手もあります。 今自分が質問している質問に回答を頂いて知ったのですが・・・。 URLの末尾に#abcといった部分はアンカーと呼ばれ、主にページ内遷移などに用いられます。 ページ内遷移の情報と被らない範囲で情報を付加することができます。 アンカーはJS内でlocation.hashで取得することができます。 よって基本的には先ほどの回答で申し上げたようにaタグのhtml属性をJSで動的に変更していくものになりますが、?ではなく#以降に情報を付加して、JSでアンカーを処理することができます。 HTML=>CGI という順番で画面が遷移すると仮定します。 ?を使った場合、パラメータを受け取るのはCGI側です。 #を使った場合、アンカーを受け取るのはHTML側で、HTML内のJSが、アンカーを受け取ってからCGIに送り込むまでの処理を一貫して担います。 質問者様には参考にならないかもしれませんが、数日後、数年後、数少ない来訪者様の参考までに。 ちなみにGoogleがこのアンカーを使って検索結果を表示しているので私が苦労しているわけです。詳細は私の質問ページで。

re97
質問者

お礼

回答ありがとうございましたー

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

残念だけどダメ リンク上で右クリック操作をNGにさせるのが 一番平和かも?

re97
質問者

お礼

回答ありがとうございましたー