2016-10-14 1 views
0

sendet Ich habe einen Hyperlink, der ein verstecktes Formular über POST an eine andere Website übermittelt. Wenn Sie jedoch mit der rechten Maustaste auf diesen bestimmten Hyperlink klicken und versuchen, ihn auf einer neuen Registerkarte zu öffnen, wird nur eine leere neue Registerkarte geöffnet, anstatt zur Website zu wechseln.Verlorene Rechtsklick-Funktionalität auf einen Hyperlink, der ein POST-Formular mit Javascript

Es funktioniert nicht wie ein Benutzer erwarten würde, dass ein Hyperlink funktioniert.

Gibt es eine Möglichkeit, diese verlorene Funktionalität wiederzuerlangen, wenn Hyperlinks POST-Formulare senden? Wenn nicht, gibt es einen besseren Weg, einen Hyperlink zu senden, der eine POST-Anfrage sendet, ohne die Funktionalität zu verlieren, um sie mit der rechten Maustaste in eine neue Registerkarte zu klicken?

Beispiel:

<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

Sie können in einer Registerkarte, die eine andere Seite öffnet, kein Javascript einer Seite ausführen. – Barmar

+0

Ich versuche nicht unbedingt, JavaScript auf einer anderen Seite auszuführen. Ich versuche, das Formular an eine andere Seite zu senden. Gibt es jetzt die Möglichkeit, das Standardverhalten zu überschreiben, wenn der Benutzer mit der rechten Maustaste auf etwas klickt, um es in einem neuen Tab zu öffnen? –

Antwort

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> 

Wenn Sie das alles inline halten müssen, können Sie die oben tun. Das onclick-Ereignis übernimmt die Aktion für den Link, Sie können jedoch weiterhin mit der rechten Maustaste klicken und auf das href-Attribut zugreifen. Ich würde mich dafür entscheiden, dies aus der Reihe zu bringen.

+0

Dies scheint nicht das Formular zu senden, auch wenn Profiling mit Dev-Tools, es öffnet nur die aktuelle Website in einem neuen Tab. Ich habe verschiedene Werte für die href auch ausprobiert. –

+0

Hallo Bill es funktionierte für mich einen Beitrag zu einem meiner Formulare auf meinem Server. Es übergab die Eingaben übermäßig gut und behielt immer noch die Fähigkeit, einen Rechtsklick auf die href zu machen. Können Sie mir Ihre tatsächlichen Code vs foo bar Art von Beispielen veröffentlichen. Vielleicht werde ich dort etwas fangen. – Adrianopolis

Verwandte Themen