Anker als Reaktion auf einen Submit-Button ausführen.
TheFlu
- https
Hallo zusammen,
ich hab ein Formular, was länger als eine Bildschirmseite ist.
Wenn man alle Fragen beantwortet hat und "Absenden" klickt, erscheint unterhalb des Formulars ein Text mit "Danke für deine teilnahme".
Die Seite wird ja nun neugeladen und springt natürlich wieder nach ganz oben. Es könnte also so aussehen als ob gar nichts passiert wäre, weil ja das Formular mit den grundeinstellungen neugeladen ist.
Kann man jetzt einen Anker irgetnwie mit dem "Absende"-Button verknüpfen?
(Eine andere Möglichkeit wäre einen Link in den Submitbutton zu basteln aber ich weis auch nicht, ob das geht, weil die Daten eigentlich an das selbe Script geschickt werden.)
Hello,
Die Seite wird ja nun neugeladen und springt natürlich wieder nach ganz oben. Es könnte also so aussehen als ob gar nichts passiert wäre, weil ja das Formular mit den grundeinstellungen neugeladen ist.
Kann man jetzt einen Anker irgetnwie mit dem "Absende"-Button verknüpfen?
Ja, indem man ihn in der Adressleiste schon vorher vorsieht, und das Sprungziel in der Seite erst einsetzt, wenn es soweit ist. Ich hänge in solchen Fällen immer präventiv ein '#go' an die URi an.
Man beachte dann noch den Tipp von Sven Rautenberg aus den letzten Threads (wird noch nicht im Archiv sein), keine leeren Sprungziele zu verwenden, sondern zur Not irgendetwas Sinnloses (weil unsichtbar) dazu zu benutzen, das Sprungziel, daran zu knüpfen.
Das beste wäre freilich immer ein H-Element
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Moin!
Man beachte dann noch den Tipp von Sven Rautenberg aus den letzten Threads (wird noch nicht im Archiv sein), keine leeren Sprungziele zu verwenden, sondern zur Not irgendetwas Sinnloses (weil unsichtbar) dazu zu benutzen, das Sprungziel, daran zu knüpfen.
Sicher, dass ich sowas in den letzten Tagen gepostet habe?
- Sven Rautenberg
Hello,
Man beachte dann noch den Tipp von Sven Rautenberg aus den letzten Threads (wird noch nicht im Archiv sein), keine leeren Sprungziele zu verwenden, sondern zur Not irgendetwas Sinnloses (weil unsichtbar) dazu zu benutzen, das Sprungziel, daran zu knüpfen.
Sicher, dass ich sowas in den letzten Tagen gepostet habe?
Nein. Ich bin nur sicher, dass unter dem Namen "Sven Rautenberg" hier jemand in einem Thread, in dem es um Anker ging, den Tipp gegeben hat, die Sprungziele nicht als sonst leere Elemente in den HTML-Code zu setzen, da manche Browser (speziell der IE) das irgendwie nicht verkraften können.
Ich suche den Thread mal, wenn es denn nützt.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hello,
Sicher, dass ich sowas in den letzten Tagen gepostet habe?
[linnk:http://forum.de.selfhtml.org/my/?t=161247&m=1049845]
Bitteschön.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Moin!
Sicher, dass ich sowas in den letzten Tagen gepostet habe?
[linnk:http://forum.de.selfhtml.org/my/?t=161247&m=1049845]
Bitteschön.
Das ist aber was anderes, als was ich meinte, dass du meintest, dass ich gemeint hätte.
Zitat: "Man beachte dann noch den Tipp von Sven Rautenberg aus den letzten Threads (wird noch nicht im Archiv sein), keine leeren Sprungziele zu verwenden, sondern zur Not irgendetwas Sinnloses (weil unsichtbar) dazu zu benutzen, das Sprungziel, daran zu knüpfen."
Ein leeres Sprungziel ist in meiner Lesart dieses Threads sowas: "#".
- Sven Rautenberg
Ja, indem man ihn in der Adressleiste schon vorher vorsieht, und das Sprungziel in der Seite erst einsetzt, wenn es soweit ist. Ich hänge in solchen Fällen immer präventiv ein '#go' an die URi an.
Dumme Frage, aber wie bekomm ich das #go und die Adressleiste??
Hello,
Ja, indem man ihn in der Adressleiste schon vorher vorsieht, und das Sprungziel in der Seite erst einsetzt, wenn es soweit ist. Ich hänge in solchen Fällen immer präventiv ein '#go' an die URi an.
Dumme Frage, aber wie bekomm ich das #go und die Adressleiste??
Indem es da immer schon steht.
Du wirst doch die Seite mal irgendwann mittels Link oder Action-Attribut im Fomular aufgerufen haben. Und da muss es schon dahinter stehen.
<form action="<?php echo $_SERVER['PHP_SELF']; ?>#go" method="post">
Und wenn das Ziel dann z.B. so aussieht
<a name="go"><h1>Zweites Kapitel</h1>
klappt es auch beim IE, sogar beim IE 5.5 :-)
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Moin!
Und wenn das Ziel dann z.B. so aussieht
<a name="go"><h1>Zweites Kapitel</h1>
...meckert der Validator vollkommen zu Recht über die unzulässig in einem inline-Element befindliche Überschrift. Und außerdem über das nicht geschlossene <a>.
- Sven Rautenberg
Hello,
Und wenn das Ziel dann z.B. so aussieht
<a name="go">Zweites Kapitel</a>
...meckert der Validator vollkommen zu Recht über die unzulässig in einem inline-Element befindliche Überschrift. Und außerdem über das nicht geschlossene <a>.
Das vergessene </a> ist wohl beim Copy & Paste auf der Strecke geblieben.
Valide sollte es schon sein.
Dann muss er eben 'was anderes reinschreiben in den Anker.
Das war nur eine (zu) fixe Idee, eine Überschirft zu nehmen.
Jedenfalls funktionieren die Anker seitdem strörungsfrei.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Valide sollte es schon sein.
Nee, ist es eben nicht. Zwei Möglichkeiten hättest Du:
<h1 id="ankername">Kapitel drölfzig</h1>
oder
<h1><a name="ankername">kapitel drölfzig</a></h1>
Siechfred
Hello,
Valide sollte es schon sein.
Nee, ist es eben nicht. Zwei Möglichkeiten hättest Du:
<h1 id="ankername">Kapitel drölfzig</h1>
oder
<h1><a name="ankername">kapitel drölfzig</a></h1>
Danke für die nochmalige Klarstellung.
Meinen Schnellschuss hatte Sven ja schon bemängelt und richtiggestellt.
Mir gings eigentlich nur darum, wie man den Verweis in die Adresszeile bringt
Abner das entschuldigt natürlich nicht *duck*
Ist die Erkennung als Sprungziel über die ID auf jeden Fall für die gängigen Browser der letzten fünf Jahre sichergestellt? Ich habe da eine Menge Diskussionen zum Thema gefunden, leider immer ohne zusammenfassende Antwort.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Danke für die nochmalige Klarstellung.
Keine Ursache :)
Ist die Erkennung als Sprungziel über die ID auf jeden Fall für die gängigen Browser der letzten fünf Jahre sichergestellt?
Ich kenne keinen (gängigen) Browser, in dem das nicht funktioniert, müsste es aber mal en detail überprüfen.
Siechfred
Hi,
Ich kenne keinen (gängigen) Browser, in dem das nicht funktioniert, müsste es aber mal en detail überprüfen.
Netscape Uralt 4.x war m.W. der letzte Browser, der nicht mit id als Fragment Identifier zurechtkam.
cu,
Andreas