Beitrag von sascha (539 Beiträge) am Dienstag, 30.September.2008, 13:50.
je nach auswahl bestimmte felder im formular einblenden
hallo,
ich habe mir ein bestellformular mit abfrage von pflichtfeldern, was auch alles wunderbar funktioniert. leider ist das formular recht lang.
gibt es denn eine möglichkeit, bestimmte felder nur bei bedarf einzublenden?
ich habe z.b. ein feld "zahlungsart".
wenn dort "kreditkarte" ausgewählt wird, sollen nur die dazu gehörigen felder erscheinen und das selbe bei "überweisung".
hier mal mein formular - geht das denn überhaupt wie ich mir das denke?
danke
sascha
<perl>
if ($cmd eq "add") {
$err.=" -> Name<br>" if $_put{Name} eq "";
$err.=" -> Vorname<br>" if $_put{Vorname} eq "";
$err.=" -> Zahlungsart<br>" if $_put{Zahlungsart} eq "";
if ($err ne ""){
out "Bitte folgende Felder ausfüllen:<br>$err<br><ahref='javascript:history.back();'>zurück</a>";
undef %_put;
} else {
$senddat=datum('jetzt', 'intern');
mail '$Email', "Bestellung", "
BESTELLUNG:
Vorname: $Vorname
Name: $Name
Zahlungsart: $Zahlungsart
...
", "$Email", "", "$Vorname $Name","","";
Vielen Dan für Ihre Bestellung.
EOF
}
} else {
out<<EOF;
<form action="#">
Vorname:<input type="text" NAME="Vorname:=">
<br>
Name:<input type="text" NAME="Name:=">
<br>
....
Zahlungsart: <select NAME="Zahlungsart:=">
<OPTION VALUE="Ueberweisung">Überweisung</OPTION>
<OPTION VALUE="Kreditkarte">Kreditkarte</OPTION>
</select>
<b>KREDITKARTENZAHLUNG:</b>
Kreditkartennummer:<input type="text" NAME="Kreditkartennummer:=">
<br>
Kreditkarteninstitut:<input type="text" NAME="Kreditkarteninstitut:=">
Gültigkeit:<select NAME="Monat:="><OPTION VALUE="01">01</OPTION>
<OPTION VALUE="02">02</OPTION><OPTION VALUE="03">03</OPTION><OPTION VALUE="04">04</OPTION><OPTION VALUE="05">05</OPTION><OPTION VALUE="06">06</OPTION><OPTION VALUE="07">07</OPTION><OPTION VALUE="08">08</OPTION><OPTION VALUE="09">09</OPTION>
<OPTION VALUE="10">10</OPTION><OPTION VALUE="11">11</OPTION>
<OPTION VALUE="12">12</OPTION></select>
<select NAME="Jahr:="><OPTION VALUE="2009">2009</OPTION><OPTION VALUE="2010">2010</OPTION><OPTION VALUE="2011">2011</OPTION>
<OPTION VALUE="2012">2012</OPTION><OPTION VALUE="2013">2013</OPTION>
<OPTION VALUE="2014">2014</OPTION><OPTION VALUE="2015">2015</OPTION>
</select>
<br><b>ÜBERWEISUNG:</b><br>
Bank:<input type="text" NAME="Bank:=">
BLZ:<input type="text" NAME="BLZ:=">
Kontonummer:<input type="text" NAME="Kontonummer:=">
Kontoinhaber:<input type="text" NAME="Kontoinhaber:=">
<br><br>
<input type="submit" value="senden" name="Submit">
</form>
EOF
Antworten
Beitrag von Pouraga (1396 Beiträge) am Dienstag, 30.September.2008, 14:03.
Re: je nach auswahl bestimmte felder im formular einblenden
Antworten
Beitrag von Pouraga (1396 Beiträge) am Dienstag, 30.September.2008, 14:08.
Re: Re: je nach auswahl bestimmte felder im formular einblenden
"display Attribut" wollte ich bestimmt sagen ;) Willst ja das Formular kleiner machen.
Tip: Am besten setzt du dir ein Blockelement um die gesamten Bereiche die du einblenden möchtest statt alles einzeln anzusprechen.
Antworten
Beitrag von sascha (539 Beiträge) am Dienstag, 30.September.2008, 14:16.
Re: Re: je nach auswahl bestimmte felder im formular einblenden
mit java?! das krieg`ich nie hin :-(
kann man das nicht mit if umsetzen?
in so etwa?
Zahlungsart<br>
<select NAME="Zahlungsart:=">
<OPTION VALUE="">Bitte auswählen</OPTION>
<OPTION VALUE="Ueberweisung">Überweisung</OPTION>
<OPTION VALUE="Kreditkarte">Kreditkarte</OPTION>
</select>
<br>
EOF
if ($Zahlungsart eq 'Kreditkarte') {
out<<EOF;
Felder....
]
if ($Zahlungsart eq 'Ueberweisung') {
out<<EOF;
Felder....
]
sascha
Antworten
Beitrag von Pouraga (1396 Beiträge) am Dienstag, 30.September.2008, 16:29.
Re: Re: Re: je nach auswahl bestimmte felder im formular einblenden
javaSCRIPT! ;)
perl wird auf dem Server ausgeführt, das heisst der Benutzer müsste erst das Forumlar abschicken nach dem er eine option gewählt hat, worauf sich dann eine neue seite aufbaut in der er dann mit der eingabe der Daten weitermachen kann. (das ist sicher nicht das was du möchtest)
So schwer ist das nicht, hier mal ein einfachs Beispiel was fast das macht was du möchtest:
http://www.web-toolbox.net/webtoolbox/diverses/text-expand/text-expand.htm
Das onclick event im textlink musst du nur gegen das ebend schon erwähnte onchange event für das Optionsfeld tauschen.
Antworten
Beitrag von sascha (539 Beiträge) am Dienstag, 30.September.2008, 17:40.
Re: Re: Re: Re: je nach auswahl bestimmte felder im formular einblenden
verstanden!
habe das jetzt mal mit onclick versucht - klappt auch super.
mit onchange nicht. so genügt das aber auch erstmal.
werde mich mal in einer ruhigen minute genauer mit auseinandersetzen.
danke
sascha
Antworten