Rolf B: css Navigation, Linien setzen

Beitrag lesen

Hallo Pit,

ob es ein Button oder ein Link ist, klärt sich anhand der Frage, ob du eine Operation auf der gleichen Seite ausführst (neuer Listeneintrag, Eintrag löschen) oder ob Du die Seite wechselst. Dabei ist auch der Aufruf der gleichen Serverressource, aber mit anderen Parametern, ein Seitenwechsel.

Die Frage, ob es ein POST oder GET ist, den Du machen musst, klärt sich mit der Überlegung, ob der Server-Request Daten verändert oder nur Daten abruft. Abruf=GET, Änderung=POST. Diese Semantik kannst Du Dir nicht aussuchen. Ergebnisse von GET-Requests dürfen gecached werden, die von POST-Requests nicht. Und ein „Zurück“ im Browser auf eine Seite, die das Ergebnis eines POST ist, löst eine Browserwarnung aus, dass man ggf. Daten erneut senden würde. Sowas tut man nicht ohne Not.

Da nur Du die genaue Funktion deiner Steuerelemente kennst, musst Du für Dich entscheiden, was angemessen ist. Es ist jedenfalls riskant für eine gute UX, wenn man Abfragen und Änderungsfunktionen nebeneinander in einer Liste hat, wenn 5 Knöpfe nebeneinander liegen und einer davon Daten löscht, kann das zu ungewollten Bedienungen führen. Deswegen trennt man das besser.

Du kannst übrigens Anker-Elemente zur gleichen Seite zeigen lassen, indem Du unter href sowas wie "?action=foo" angibst. Tust Du das auf der Seite bar.php, ruft der Browser bar.php?action=foo auf.

Rolf

--
sumpsi - posui - clusi