2016-10-14 5 views
0

POST経由で別のサイトに隠しフォームを送信するハイパーリンクがあります。 ただし、この特定のハイパーリンクを右クリックして新しいタブで開こうとすると、サイトに行く代わりに空の新しいタブのみが開きます。JavaScriptを使用してPOSTフォームを送信するハイパーリンクの右クリック機能が失われました。

ユーザーがハイパーリンクの機能を期待するようには機能しません。

ハイパーリンクでPOSTフォームを送信すると、この機能を失う可能性がありますか?そうでない場合は、ハイパーリンクをクリックして新しいタブに右クリックする機能を失うことなく、POSTリクエストを送信するより良い方法がありますか?

例:あなたはすべてのインラインそれを維持しなければならない場合

<form id="my_form" method="POST" action="http://foo.bar"> 
    <input type="hidden" name"foo" value="bar"> 
</form> 

<a href="javascript:document.getElementById('my_form').submit();">hyperlink</a> 
+0

別のページを開くタブで1ページのJavascriptを実行することはできません。 – Barmar

+0

私は必ずしも別のページでJavaScriptを実行しようとしているわけではありません。別のページにフォームを送信しようとしています。ユーザーが何かをクリックして新しいタブで開くときのデフォルトの動作を上書きする方法はありますか? –

答えて

0
<form id="my_form" method="POST" action="http://foo.bar"> 
    <input type="hidden" name"foo" value="bar"> 
</form> 

<a href="enter/url/to/site/here" onclick="event.preventDefault();javascript:document.getElementById('my_form').submit();">hyperlink</a> 

あなたは、上記の操作を行うことができます。 onclickイベントはリンク上のアクションを引き継ぎますが、href属性を右クリックしてアクセスすることはできます。私はこれをラインから外すことを選ぶだろう。

+0

これはフォームを送信するようには見えません。たとえ開発ツールでプロファイリングしていても、現在のサイトを新しいタブで開くだけです。私はhrefについても様々な値を試しました。 –

+0

こんにちはビル私のために私のフォームのいずれかに私のサーバー上の投稿をして働いた。それはちょうど上の入力を通過し、hrefを右クリックする能力を依然として保持していました。実際のコードとfooバーのタイプの例を私に投稿できますか?たぶん私はそこに何かをつかむだろう。 – Adrianopolis

関連する問題