Hallo zusammen,
ja ich weiß, Google ist mein Freund, aber ich wühle mich schon seit drei Tagen durch diese Suchmaschine und werde einfach nicht fündig, daher werde ich mein Problem hier darstellen:
Ich habe einen Formmailer entwickelt, der mit Checkboxen, Pulldown-Menüs und Textfeldern ausgestattet ist und alle Daten auch wunderbar per Mail versendet. Bei einigen Checkboxen ist die onClick-(bzw. bei PD-Menüs die onChange-)Funktion hinterlegt, damit wenn eine Option gewählt wird, weitere von dieser Option abhängige Felder angezeigt werden. Quasi ein dynamischer Formmailer. Dies habe ich mit onClick="submit()" realisiert und es funktioniert auch wunderbar.
Wenn ich allerdings solche besagte Optionen auswähle, die weiter unten auf der Seite vorhanden sind, springt das Formular zum Seitenanfang. Dies ist ziemlich nervig, wenn mehrere Optionen ausgewählt werden müssen, da dann immer die komplette Seite runtergescrollt werden muss.
Eine Idee die ich gefunden habe war mit Ankern dies zu realisieren. Den Anker über die Submit()-Funktion anzuspringen, wäre m.E. die einfachste Lösung, aber da bin ich überfragt, wie oder ob das überhaupt von statten geht. Daher habe ich versucht das Formular in mehrere Formulare mit Anker-IDs zu splitten. Das klappte auch soweit ganz gut, nur wenn ich in einem anderem Formular eine onClick-Checkbox auswähle, werden die Daten aus den anderen Formularen entfernt.
Weiterhin habe es mit return false; hinter dem submit(); versucht, leider war dies auch ohne Erfolg, denn dadurch wurden die Daten gar nicht erst übergeben und die Felder erschienen erst nicht.
Auszug aus dem Formular:
Meine Frage also: Wie kriege ich es hin, die Daten zu übertragen, ohne dass das Formular im Browser wieder komplett an den Anfang springt?
Gruß und schönes WE
Jay
ja ich weiß, Google ist mein Freund, aber ich wühle mich schon seit drei Tagen durch diese Suchmaschine und werde einfach nicht fündig, daher werde ich mein Problem hier darstellen:
Ich habe einen Formmailer entwickelt, der mit Checkboxen, Pulldown-Menüs und Textfeldern ausgestattet ist und alle Daten auch wunderbar per Mail versendet. Bei einigen Checkboxen ist die onClick-(bzw. bei PD-Menüs die onChange-)Funktion hinterlegt, damit wenn eine Option gewählt wird, weitere von dieser Option abhängige Felder angezeigt werden. Quasi ein dynamischer Formmailer. Dies habe ich mit onClick="submit()" realisiert und es funktioniert auch wunderbar.
Wenn ich allerdings solche besagte Optionen auswähle, die weiter unten auf der Seite vorhanden sind, springt das Formular zum Seitenanfang. Dies ist ziemlich nervig, wenn mehrere Optionen ausgewählt werden müssen, da dann immer die komplette Seite runtergescrollt werden muss.
Eine Idee die ich gefunden habe war mit Ankern dies zu realisieren. Den Anker über die Submit()-Funktion anzuspringen, wäre m.E. die einfachste Lösung, aber da bin ich überfragt, wie oder ob das überhaupt von statten geht. Daher habe ich versucht das Formular in mehrere Formulare mit Anker-IDs zu splitten. Das klappte auch soweit ganz gut, nur wenn ich in einem anderem Formular eine onClick-Checkbox auswähle, werden die Daten aus den anderen Formularen entfernt.
Weiterhin habe es mit return false; hinter dem submit(); versucht, leider war dies auch ohne Erfolg, denn dadurch wurden die Daten gar nicht erst übergeben und die Felder erschienen erst nicht.
Auszug aus dem Formular:
PHP-Code:
<body>
<form action="<?php echo $_SERVER["php_self"]; ?>" name="daten" id="daten" method="post">
<table>
[...]
<tr>
<td colspan="2" align="left" valign="top">
<input id="blubb" type="checkbox" name="sonstiges[]" value="blubb" onclick="submit();"
<?php
if (isset($sonstiges) && in_array('blubb', $sonstiges)) echo " checked";
?>
> Blubb
<?php
$kategorie='blubb';
if (isset($sonstiges) && in_array($kategorie, $sonstiges))
{
echo '
<select name="'.$kategorie.'1">
<option></option>';
[...]
}
?>
</td>
</tr>
</table>
Gruß und schönes WE
Jay
Kommentar