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

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

A 回答 (3件)

よゆうでできます。


aリンクタグのhrefの末尾に?とパラメータをつけ、テキストボックスにonchangeイベントを付けて、値が変わったらaリンクタグの末尾の?以降のパラメータをテキストボックスの値と同じものに変更するようなjs関数をイベントリスナに指定します。
あとhref属性の?以前の部分はjavascript:...ではなくて、form要素のaction属性に指定していたcgi等の遷移先ページです。


以下補足

onclickとリンクジャンプは別々に機能します。
<a href=# onclick=...
とありますが、リンクジャンプは#へのジャンプを、onclickは...を実行した後に#へのジャンプを実行しようとします。
新しいウィンドウやタブで開く、はリンクジャンプのみ行います。

すなわちリンクジャンプのみでformデータを送信することを目指すことになります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/06/11 07:44

すみません補足します。


~アンカーの場合~

URLに情報を載せるという点で?の他に#を使う手もあります。
今自分が質問している質問に回答を頂いて知ったのですが・・・。

URLの末尾に#abcといった部分はアンカーと呼ばれ、主にページ内遷移などに用いられます。
ページ内遷移の情報と被らない範囲で情報を付加することができます。

アンカーはJS内でlocation.hashで取得することができます。
よって基本的には先ほどの回答で申し上げたようにaタグのhtml属性をJSで動的に変更していくものになりますが、?ではなく#以降に情報を付加して、JSでアンカーを処理することができます。

HTML=>CGI

という順番で画面が遷移すると仮定します。
?を使った場合、パラメータを受け取るのはCGI側です。
#を使った場合、アンカーを受け取るのはHTML側で、HTML内のJSが、アンカーを受け取ってからCGIに送り込むまでの処理を一貫して担います。




質問者様には参考にならないかもしれませんが、数日後、数年後、数少ない来訪者様の参考までに。

ちなみにGoogleがこのアンカーを使って検索結果を表示しているので私が苦労しているわけです。詳細は私の質問ページで。
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/06/11 07:45

残念だけどダメ


リンク上で右クリック操作をNGにさせるのが
一番平和かも?
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/06/11 07:44

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