Ich habe mehrere Seiten, die mit gültigen GET Daten angekommen sind auf, wie http://website.com/?id=12345HTML Form zu entfernen? Get = info auf POST Submit?
ich ein generisches HTML-Formular, das auf viele verschiedenen Seiten mit PHP „require“ gezogen wird und POST einreicht werden. Unabhängig davon, auf welcher Seite sich dieses Formular befindet, sollte es immer an dieselbe Seite zurückgeben. Nachdem das Formular abgeschickt wurde, möchte ich jedoch die? Id = 12345 entfernt werden.
So, zum Beispiel, wenn der Benutzer auf http://website.com/new.php?id=12345 ist, sollte es zurück auf http://website.com/new.php posten. Wenn der Benutzer auf http://website.com/old.php?id=12345 ist, dass gleiche Form sollte es Post zurück zu old.php
Bisher die beste Lösung, ich fand, war die Form als solche stylen:
<form action="?" method="POST">
Welche werden alle Links zu http://website.com/new.php ändern ? oder http://website.com/old.php? Das ist sehr nah, aber nicht perfekt.
Wie sich herausstellt, fand ich endlich die Lösung für mein Problem, indem sie mit Hilfe von JavaScript:
url = location.href;
qindex = url.indexOf("?");
Dies kann ziehen, was auch immer in der Adressleiste als String und den Index des ersten finden? Kennzeichen. Von dort:
if(qindex != -1)
sagt mir, dass es ein? mark
var plainUrl = url.substring(0, qindex);
bekommen können, als String, alles bis zu den? markieren, aber nicht danach. Schließlich:
Wird die Adressleiste in die einfache URL umschreiben, nicht einschließlich der? oder was auch immer danach kommt und ohne den Browser umzuleiten.
Nein, das ist nicht möglich, allein mit Hilfe von HTML. Aber ein Formular, das an die gleiche Adresse zurückschickt, würde höchstwahrscheinlich eine serverseitige Sprachverarbeitung der gesendeten Daten haben, richtig? Daher sollte es möglich sein, die Aktion dynamisch auf die aktuelle URL zu setzen - bei Bedarf auch ohne den unerwünschten GET-Parameter. – CBroe
CBroe bedeutet, dass Ihr Vorschlag - "reines HTML-Posting zurück zu sich selbst, ohne GET zu verwenden" - nicht möglich ist, anstatt den Vorschlag von j08691. Siehe auch die erste Antwort hier: http://stackoverflow.com/questions/13650408/hide-variables-passed-in-url für einen interessanten Ansatz. – Hektor
Haben Sie ein leeres 'action' Attribut versucht? 'action =" "' –