Sie könnten dies tun, indem Sie eine neue form
Element und zeigt es auf das href
und ruft .submit()
darauf.
<a class="postlink" href="test.php?name=test">Click</a>
<script type="text/javascript">
$('.postlink').click(function() {
var form= document.createElement('form');
form.method= 'post';
form.action= this.protocol+'//'+this.hostname+this.pathname;
$.each(this.search.slice(1).split(/[&;]/g), function() {
var ix= this.indexOf('=');
if (ix===-1) return;
var input= document.createElement('input');
input.type= 'hidden';
input.name= decodeURIComponent(this.slice(0, ix));
input.value= decodeURIComponent(this.slice(ix+1));
form.appendChild(input);
});
document.body.appendChild(form);
form.submit();
return false;
});
</script>
Oder Sie könnten stattdessen einfach eine AJAX-Anfrage stellen und reload()
Sie können die Seite auch nachträglich bearbeiten.
Ich bin mir jedoch nicht sicher, warum Sie das tun sollten. Was nützt ein Link, der in der Regel POSTed ist, außer wenn es nicht ist? (Nicht nur, wenn JS deaktiviert/nicht verfügbar ist oder wenn es sich um eine Suchmaschine handelt, sondern auch, wenn der Benutzer mit der Mitte auf den Link klickt oder versucht, ihn mit der rechten Maustaste als Lesezeichen zu markieren oder was auch immer).
Wenn Sie nur etwas wollen, das sich wie eine Schaltfläche zum Übermitteln eines POST-Formulars verhält, sollten Sie besser ein echtes Formular und eine Schaltfläche zum Übermitteln verwenden und dann CSS verwenden, um es so umzugestalten, dass es wie ein Link aussieht, wenn es das ist, wonach Sie es aussehen lassen wollen.