Die Frage lautete, wie man den Browser dazu bringt, eine bestimmte Stelle der Zielseite anzuzeigen und nicht, wie irgendwas zum Server übermittelt wird.
Du wolltest ein Fragment im action-Attribut via Post an den Server übermitteln.
Nein, das wollte ich nicht, das hast du mangels Verständnis da hineininterpretiert.
Im action-Attribut wird eine URL angegeben, die der Browser aufruft, nicht mehr, nicht weniger. Wie er sie aufruft, insbesondere welche Teile an den Server übermittelt werden, ist damit nicht gesagt – und ich habe nirgends behauptet und auch nie erwartet, dass das Fragment an den Server übermittelt werden müssre; da ist es nämlich überflüssig, es soll den Browser steuern, nicht den Server.
Es wundert mich doch sehr, dass du mir erklären willst, wie mit dem Fragment umgegangen wird, aber es offenbar selber nicht verstehst.
Da du ja so gerne Beispielseiten bastelst, zum zweiten Mal die Anregung, es selber auszuprobieren. Und damit du nicht wieder irgendwas Unnützes, da völlig am Thema vorbei bastelst:
<html><head><style>
section {
height:400px;
border:1px solid #000;
}
</style></head>
<body>
<div>
<form method="post" action="#sp23"><input name="kunde" value="Dr. Hinkelfurz"><input type="submit" value="Ganz unten neuen Kunden anlegen"></form>
</div>
<section id="sp1">
Frauke Funkelfön
</section>
<section id="sp1">
Griesbert Grummelgelb
</section>
<section id="sp3">
Hilbert Hulbedulch
</section>
<section id="sp23">
<form method="post" action="#sp23"><input name="kunde" value="Dr. Hinkelfurz"><input type="submit" value="Oder auch hier neuen Kunden anlegen"></form>
<?php var_dump($_POST) ?>
</section>
</body></html>
Mit einem Klick auf "Neuen Kunden anlegen" landest du im Zielelement #sp23, wo der im Formular übermittelte Kundenname ausgegeben wird – genau das, was gefragt war.
Die Weiterleitung, die du so gerne haben möchtest, ist für das Ansteuern des Zielelements überflüssig (dass eine 303-Weiterlung einen sehr guten anderen Nutzen hat, schrieb ich bereits).