Ah super, genau das habe ich gesucht, und es funzt wie ne Eins!
Besten Dank!!!
Formmailer mit Checkboxes, onClick und Submit
Einklappen
X
-
Du definierst ein paar Anker in deinem Formularen und deine onChange-Handle erweiterst du so, dass das action-Attribut des Formulars um diesen Anker erweitert wird. Also:
PHP-Code:<input type="checkbox" ... onclick="this.form.action+='#anker';submit();" />
Einen Kommentar schreiben:
-
Sorry, hier lief alles wieder hektisch. Typisches Freitagnachmittagssyndrom.
Einen Kommentar schreiben:
-
brich erstmal deine Code gemäß den Regeln um, sonst wird dir so schnell niemand helfen
Einen Kommentar schreiben:
-
Formmailer mit Checkboxes, onClick und Submit
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:
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
JayZuletzt geändert von jayleferm; 09.11.2007, 14:03.Stichworte: -
Einen Kommentar schreiben: