Sprungziel bei Formular-Post ??

Hallo,

ich habe hier mal wieder ein Denkproblem…

Ich habe ein Formular mit mehreren Select-Feldern, welche an durch ein PHP-Skript aus einer Datenbank gefüllt werden.
Das Formular sendet seine Daten bei jeder Feldänderung per POST wiederum an das PHP-Skript …

Je nach dem was ich auswähle, kommt ein anderes Ergebnis raus. Die Anzahl der Select-Felder kann auch variieren, sodass der Bildschirm nach unten schnell voll wird und man immerwieder nach unten scrollen muss. Gibt es eine Möglichkeit, dass die Stelle angesprungen wird, wo die letzte Änderung war ?

Ich möchte (wenn möglich) weder GET noch AJAX verwenden …

Schonmal Danke!

FmP

Kenn mich ja auch nicht wirklich aus aber „offsetTop“ (Javascript) hört sich danach an… :rolleyes:

EDIT: Den Wert kannst du ja in der $_SESSION speicherm…

Warum kein Ajax hab ich auch gerade zum ersten mal mit Kontakt is wirklich einfach :slight_smile:

Ohne Javascript oder darauf basierende Verfahren, wird es schwierig, da PHP nunmal Serverseitig ist.

Alles ist berechenbar / Everything is calculable

Danke für Eure Antworten! Es gäbe ja noch die Variante mit [a name=‚xyz‘], nur muss das wiederrum im href stehen … :wink:

@Supercomputer
wie würde es denn mit javascript gehen (oder meinst du direkt per ajax) ?

Am einfachsten ist es mit Ajax, du kannst damit einfach eine Funktion ausführen, die startet sobald sich etwas ändert.

Alles ist berechenbar / Everything is calculable

Das sind $_GET Variablen und können per PHP ausgelesen werden. Wäre auch möglich hier die ypos zu speichern falls du an das gedacht hast.

Ich bin mir unsicher aber wenn man die ypos über document.all..offsetTop von einem Element das auf top:0 liegt beim gescrollten Fenster abfragen würde bekommt man dann einen negativen wert?
Mithilfe diesem kann man es doch wieder so rekonstruieren oder?

Moin,

hab nochmal ein wenig gegoogelt, gelesen und probiert und ein passables Ergebnis. Benötigt zwar auch Javascript aber das lässt sich verschmerzen ;).

ein

$('html,body').animate({scrollTop: $("#xyz_ziel").offset().top},'slow');

springt zur entsprechenden ID …

Relativ simpel und bei notorischen JS-/AJAX-Verweigerern geht zumindest der Rest weiter …

Vielen Dank für Eure Hilfe/Anregungen!

Frank

Du könntest auch „scrollTop“ verwenden
http://api.jquery.com/scrolltop/

Brauchst nur die Position des Elementes auslesen und dann mit dem Wert eine JS Funktion nutzen…
AJAX brauchst du in dieser Situation genauso wenig wie GET :smiley: :smiley:

Vom Prinzip her könnte das auch gehen, die einzige „Schwierigkeit“ könnte nur sein, dass die Position der Select-Felder nicht immer dieselbe sein muss, da je nachdem was ich auswähle, weitere Select-Felder dazukommen oder wegfallen können … :wink:

Wie du schon richtig angemerkt hast, wird in dieser Situation weder AJAX noch GET benötigt, da bezog sich (zumindest aus meiner Richtung) auf das Formular als solches … :wink:

Ich denke, so wie ich es jetzt habe, passt es schon ganz gut.

Trotzdem Danke !

Frank

Noch zur Info… JS == Ajax.

Ohne jetzt jemanden auf den Schlips zu Treten oder Klug-zu-sche**sen, war/ist mein bisheriger Kenntnisstand, das AJAX zwar mit JS funktioniert, aber JS die eigentliche Programmiersprache ist… Richtig, odr falsch ?

für euch BEIDE zum nachschlagen :stuck_out_tongue: :stuck_out_tongue:

http://de.wikipedia.org/wiki/Ajax_(Programmierung)

Habe es deshalb geschrieben.

@Flemli200
Komm schon klar, danke :wink: