Refresh der html-Fromulare nach dem Abschicken unterbinden?
Benjamin Piltz
- html
Hallo!
Meine HTML-Formulare haben irgendwie die unschöne Eigenschaft direkt nach dem Abschicken nicht die zu letzt eingegebenen Werte anzuzeigen, sondern die vorletzten. Ich verwende die Post-Method -möglicherweise liegt es daran. GET gefällt mir aufgrund der dargestellten URL nicht wirklich. Das Formular wird über Sessionvariablen mit den zu letzt eingegebenen Werten initialisiert, das Problem ist aber, dass der Refresh des Formulars vor dem Beschreiben der Sessionvariablen ausgelöst wird. Ich muß also nach dem Beschreiben der Sessionvariablen einen zusätzlichen Neuaufbau der Seite generieren, was ein irritierendes hin und herflippen der Formularinhalte zur Folge hat.
Weiß jemand wie man das formulareigene Refresh unterbinden kann?
Moin,
Weiß jemand wie man das formulareigene Refresh unterbinden kann?
Es gibt keine Formulareigenen refreshs...
Das Problem liegt in dem Skript welches Dein Formular verarbeitet.
bzw. solltest Du beschreiben, was Dein Formular überhaupt tut.
Mit POST und GET hat das gar nichts zu tun.
Vielleicht doch mal hochladen oder ein wenig Quelltext posten?
Ich ahne allerdings schlimmes..
TomIRL
Moin,
Weiß jemand wie man das formulareigene Refresh unterbinden kann?
Es gibt keine Formulareigenen refreshs...
Das Problem liegt in dem Skript welches Dein Formular verarbeitet.
bzw. solltest Du beschreiben, was Dein Formular überhaupt tut.
Mit POST und GET hat das gar nichts zu tun.
Vielleicht doch mal hochladen oder ein wenig Quelltext posten?
Ich ahne allerdings schlimmes..
TomIRL
HI,
die entsprechende Zeile sieht z.B. so aus:
<input name='$input_name[$s]' size='25' value='$pres_values[$s]'>
Mit Refreshs meine ich, dass sobald das Formular via Submit-Button abgeschickt wurde, sich der Formularinhalt aktualisiert - sprich die Werte, die bei "value=" stehen, werden im Formular dargestellt. Wenn beispielsweise nichts da steht (value='') wird nach dem Abschicken das Formular an dieser Stelle leer sein. Ich hätte aber gerne, dass die zuvor eingegebenen Werte erhalten bleiben. Wie geht das???
Gruß, Ben
Hallo
Mit Refreshs meine ich, dass sobald das Formular via Submit-Button abgeschickt wurde, sich der Formularinhalt aktualisiert - sprich die Werte, die bei "value=" stehen, werden im Formular dargestellt. Wenn beispielsweise nichts da steht (value='') wird nach dem Abschicken das Formular an dieser Stelle leer sein. Ich hätte aber gerne, dass die zuvor eingegebenen Werte erhalten bleiben. Wie geht das???
Trage die vom Formular übergebenen Werte in den value ein.
<?php
// Prüfung der übergebenen Werte
...
?>
<input type="text" name="bla" value="
<?php
if (isset($_POST["bla"])
{
echo $_POST["bla"];
}
else
{
echo "blubber";
// Wenn am Anfang nichts vorgegeben sein soll, lasse den "else"-Zweig weg.
}
?>
" size="20" maxlegth="20">
...
Wenn aber vom Benutzer kein Wert in das Formular eingetragen wurde und keine Vorbelegung definiert ist, wird das Feld nach dem Absenden des Formulars logischerweise immer leer sein.
Tschö, Auge
Danke, Auge!
Genau so mache ich das auch.
Wie in meinem ersten Post beschrieben, übergebe ich die Einträge einer Sessionvariablen, die aber leider in HTML nicht schnell genug upgedatet wird, mit dem Effekt, dass nach dem Absenden immer zuerst der vorhergehende Wert der Sessionvariablen im Formular angezeigt wird. Erst nach einem erneuten Refresh der ganzen Seite wird der richtige Wert im Formular angezeigt. Und genau das geht mir echt auf den Nerv.
Gruß, Ben
Hallo
Genau so mache ich das auch.
Offensichtlich nicht. :-)
Wie in meinem ersten Post beschrieben, übergebe ich die Einträge einer Sessionvariablen, die aber leider in HTML nicht schnell genug upgedatet wird,
HTML kennt keine Sessionvariablen. Du benutzt also offenbar eine serverseitige (Skript?)sprache. Und dort machst du offenbar einen Fehler, den ich so, mit den mir zur Verfügung stehenden Informationen, nicht zu ergründen vermag.
mit dem Effekt, dass nach dem Absenden immer zuerst der vorhergehende Wert der Sessionvariablen im Formular angezeigt wird. Erst nach einem erneuten Refresh der ganzen Seite wird der richtige Wert im Formular angezeigt.
Wie gesagt, in deinem Skript muss ein logischer Fehler vorliegen.
Tschö, Auge