![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Guten Abend! Ich habe in einem HTML-Formular ein Dropdownmenü (<select>), mit dem ein Besucher eine Frage in diesem Stil beantworten können soll: Was ist dein Libelingsgericht? - Pizza - Schwarzsauer - Tomatensuppe - Etwas anderes Wenn man in dieser Liste jetzt "Etwas anderes" wählt (und nur dann), soll ein <input />-Feld unter der Liste erscheinen, in das man dann seine eigene Antwort eintragen kann, um im Anschluss die Formular-Daten abzuschicken. Hat jemand ein kleines Script auf Lager (oder die nötigen Tipps für einen JS-Neuling), mit dem sich so etwas umsetzen lässt? Google konnte mir leider nicht helfen, weil mir keine präzisen Suchbegriffe hierfür einfallen wollen. Ich bedanke mich vorab für jede Hilfe! |
#3
| |||||
| |||||
|
|
"André Wilke" <andre-info (AT) arcor (DOT) de> wrote in message news:47360671$0$13113$9b4e6d93 (AT) newsspool2 (DOT) arcor-online.net... |
|
[...] Ich habe in einem HTML-Formular ein Dropdownmenü (<select>), mit dem ein Besucher eine Frage in diesem Stil beantworten können soll: Was ist dein Libelingsgericht? - Pizza - Schwarzsauer - Tomatensuppe - Etwas anderes Wenn man in dieser Liste jetzt "Etwas anderes" wählt (und nur dann), |
|
soll ein <input />-Feld unter der Liste erscheinen, in das man dann ^ |
|
seine eigene Antwort eintragen kann, um im Anschluss die Formular-Daten abzuschicken. [...] [...] (Variante 2) DIV id="meindiv"><input type="....></DIV - _Bevor_ (!) du diese Auswahlliste anzeigst, schaltest du das DIV ab: document.getElementById("meindiv").style.display = "none"; Das kann auch schon im BODY mit onLoad=abschalten() oder so geschehen. |
|
- Falls "Etwas anderes" ausgewählt wurde: document.getElementById("meindiv").style.display = "block"; // ODER "inline"; sollte in deinem Fall nicht von Belang sein |
#4
| ||||
| ||||
|
|
Andreas Eibach wrote: [...] Ich habe in einem HTML-Formular ein Dropdownmenü (<select>), mit dem ein Besucher eine Frage in diesem Stil beantworten können soll: Was ist dein Libelingsgericht? - Pizza - Schwarzsauer - Tomatensuppe - Etwas anderes Wenn man in dieser Liste jetzt "Etwas anderes" wählt (und nur dann), Für eine solche Auswahl sind Radiobuttons besser geeignet. |
|
soll ein <input />-Feld unter der Liste erscheinen, in das man dann ^ Bitte lern den Unterschied zwischen HTML und XHTML. |
|
Tipp: Du willst hier bestimmt kein XHTML benutzen, vertrau mir. |
|
snip: Code und Hinweise |
#5
| |||
| |||
|
|
André Wilke meinte: Warum sollte ich kein XHTML benutzen? U.a.: Weil es der beste und meistbenutzte Browser auf diesem Erdenrund nicht unterstützt. |
. (Michael 'Netzmeister Micha'
#6
| |||
| |||
|
|
Für eine solche Auswahl sind Radiobuttons besser geeignet. |
|
(Variante 2) DIV id="meindiv"><input type="....></DIV - _Bevor_ (!) du diese Auswahlliste anzeigst, schaltest du das DIV ab: document.getElementById("meindiv").style.display = "none"; Das kann auch schon im BODY mit onLoad=abschalten() oder so geschehen. Es sollte *nur* dort geschehen. Ein div-Element ist jedoch unnötig. Konkret: ... meta http-equiv="Content-Script-Type" content="text/javascript" script type="text/javascript" function abschalten() { document.forms[0].elements["other_text"].style.display = "none"; } /script /head |
#7
| |||
| |||
|
|
"Thomas 'PointedEars' Lahn" <PointedEars (AT) web (DOT) de> wrote: - _Bevor_ (!) du diese Auswahlliste anzeigst, schaltest du das DIV ab: document.getElementById("meindiv").style.display = "none"; Das kann auch schon im BODY mit onLoad=abschalten() oder so geschehen. Es sollte *nur* dort geschehen. Ein div-Element ist jedoch unnötig. Konkret: ... meta http-equiv="Content-Script-Type" content="text/javascript" script type="text/javascript" function abschalten() { document.forms[0].elements["other_text"].style.display = "none"; } /script /head Prinzipiell OK; nur bevorzuge ich <div> aus einem Grund: Unabhängigkeit vom Elementindex! Angenommen da kommt in der Zukunft noch ein <form>-Block obendrüber; dann müsste ich händisch den 0-index in einen 1-index ändern. |
#8
| |||
| |||
|
|
Nein, denn das Formular kann einen Namen haben, den Du ebenfalls als Eigenschaftsnamen verwenden kannst. Es handelt sich heutzutage um ein Objekt, welches das HTMLCollection-Interface von W3C DOM Level 2 HTML implementiert. (Das war jedoch bei DOM Level 0 auch, also schon immer, so.) |

#9
| |||
| |||
|
|
"Thomas 'PointedEars' Lahn" <PointedEars (AT) web (DOT) de> wrote: Nein, denn das Formular kann einen Namen haben, den Du ebenfalls als Eigenschaftsnamen verwenden kannst. Es handelt sich heutzutage um ein Objekt, welches das HTMLCollection-Interface von W3C DOM Level 2 HTML implementiert. (Das war jedoch bei DOM Level 0 auch, also schon immer, so.) Dann sage mir doch bitte auch, wie man das anspricht, damit ich nicht wieder diese unsägliche MS-Krücke document.all verwenden muss. [...] |
#10
| |||
| |||
|
|
function disableInput() { document.forms["foo"].elements["bar"].disabled = true; } /script |

![]() |
| Thread Tools | |
| Display Modes | |
| |