Axel Richter: <form action=""> vs. PHP_SELF

Beitrag lesen

Hallo,

Ich weiß jedenfalls, dass man mit # auf der gleichen Seite bleibt – aber halt:

<a href="#">ein Link</a>

Dies führt dazu, dass die aktuelle Seite _nicht noch einmal aufgerufen wird_.

Ja, denn weder die gesamte URI (weder base URI noch relative URI) verändert sich, noch ändert sich etwas anderes am Aufruf des im Browserfenster gezeigten Dokuments. Die Ankeradressen, die hinter # stehen könnten, müssen dem Browser ja schon bekannt sein, denn sie stehen als A.name oder *.id im Quelltext.

Kann es sein, dass der Ansatz

<form action="#" method="post" name="sowieso">
nicht wie beabsichtigt funktioniert?

Du meinst, weil der Browser die Ressource gar nicht neu anfordert? Nein, denn beim Absenden eines Formulars ändert sich die Ressourcenanforderung _immer_. Bei GET ändert sich die URI direkt, weil die Name-Wert-Paare der successful controls dort übergeben werden. Bei POST ändert sich die Art des Requests und es werden natürlich POST-Parameter generiert und mitgesendet.

Die einzige gemeinsame Unsicherheit bei action="#" und action="" ist, dass es sein könnte, dass ein Browser die base URI nicht korrekt ergänzt, wenn der relativeURI-Teil leer ist, denn das ist er bei beiden Varianten.

viele Grüße

Axel