Sie könnten es tun, indem Sie ein neues form
Element erstellen, es auf die href
zeigen und .submit()
darauf aufrufen.
<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 nur eine AJAX-Anfrage statt und reload()
die Seite später tun, wenn Sie es vorziehen.
Allerdings bin ich nicht sicher, warum Sie das tun möchten. Was nutzt ein Link, der normalerweise geposted wird, außer wenn es nicht ist? (Nicht nur, wenn JS deaktiviert/nicht verfügbar ist oder wenn es eine Suchmaschine ist, aber auch wenn der Benutzer mit der mittleren Maustaste auf den Link klickt oder versucht, ein Lesezeichen zu setzen oder ähnliches).
Wenn alles, was Sie wollen, etwas ist verhält sich wie eine Schaltfläche, um ein POST-Formular zu senden, besser, um eine echte Formular- und Übergabeschaltfläche zu verwenden, und verwendet dann CSS, um es wie einen Link neu zu gestalten, wenn es so aussieht, wie es aussehen soll.
Danke eine Tonne. Es funktionierte. Ajax und Jquery sind sehr neu für mich. Sie schlagen also vor, wenn js aktiviert ist, tun Sie "ajax" statt "post" und wenn js deaktiviert ist, laden Sie mit "get" neu. Das klingt perfekt. Ich schätze wirklich. Wenn möglich, kannst du mir helfen, Dinge zu ajaxieren. Danke nochmal. – user277891