Erich: DIVs ein und ausblenden per Select-Box

Hallo zusammen.

Ich möchte ein Formular machen, dass bei der Auswahl einer bestimmten Option zusätzliche Felder ein oder ausblendet.
Dies weil der Anwender dann je nach Option noch ein Zusatzfeld angeben muss oder nicht und je nach Option halt nicht das gleiche.

Deshalb habe ich gedacht, dass ich per Javascript versteckte Input Felder in Form einer Tabelle erstelle und diese einfach einblende, wenn er die Auswahl getroffen hat.

Das einblenden funktioniert auch sehr gut. Aber wenn er dann etwas anderes wählt, habe ich am Schluss alle Felder eingeblendet.
Das heisst bei einer anderen Wahl blendet er die anderen nicht mehr aus.

Kann mir da jemand helfen?

Danke und Gruss,
Erich

  
<table cellpadding="0" cellspacing="0" width="450">  
    <tr>  
    <td width="65"><b>Dienst:</b></td>  
    <td width="160">  
  <select size="1" name="port" onChange="changeDisplay(true,this.options[this.selectedIndex].value);">  
   <option value="53">DNS</option>  
   <option value="21">FTP</option>  
   <option value="80">HTTP</option>  
   <option value="443">HTTPS</option>  
  </select>  
 </td>  
    <td width="65"><b>E-Mail:</b></td>  
    <td width="160"><input type="text" style="width: 160px;" name="email"></td>  
  </tr>  
  <tr><td colspan="4">  
  
  <div id="21" style="display: none; padding-top:10px;">  
    Einblenden Tabelle 1  
  </div>  
  
  
  <div id="80" style="display: none; padding-top:10px;">  
    Einblenden Tabelle 2  
  </div>  
  
  
  <div id="443" style="display: none; padding-top:10px;">  
    Einblenden Tabelle 3  
  </div>  
  
  </td></tr>  
  </table>  

  1. Hi,

    Das einblenden funktioniert auch sehr gut.

    trotz der schwerwiegend invaliden IDs? Erstaunlich.

    Aber wenn er dann etwas anderes wählt, habe ich am Schluss alle Felder eingeblendet.
    Das heisst bei einer anderen Wahl blendet er die anderen nicht mehr aus.

    Kann mir da jemand helfen?

    Klar: Blende die anderen Felder einfach wieder aus. Was passiert eigentlich, wenn der Nutzer JavaScript deaktiviert hat?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Klar: Blende die anderen Felder einfach wieder aus. Was passiert eigentlich, wenn der Nutzer JavaScript deaktiviert hat?

      Das ist einfach: dann werden die Felder nicht wieder ausgeblendet. Macht aber nix: denn dann wurden sie ja gar nicht erst eingeblendet ;-)

      Gruesse, Joachim

      --
      Am Ende wird alles gut.
  2. Hi,

    onChange="changeDisplay(

    ^^^^^^^^^^^^^^^^^^^^^^^

    Solange Du nicht verrätst, was diese Funktion treibt, müssen wir hellsehen... ich vermute mal, sie blendet ein, aber nicht aus ;-)

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
  3. Hallo!

    Das einblenden funktioniert auch sehr gut. Aber wenn er dann etwas anderes wählt, habe ich am Schluss alle Felder eingeblendet.
    Das heisst bei einer anderen Wahl blendet er die anderen nicht mehr aus.

    Ich hab mal ein ähnliches Problem bei einem Formular gehabt und würde dir vorschlagen es so zu lösen, dass erstmal alle ausgeblendet werden und dann das richtige eingeblendet wird. Das Ausblenden könntest du mit ner Schleife machen, die über alle Felder einmal rübergeht.

    Aber mein Vorredner hat definitiv Recht: Was passiert, wenn JavaScript deaktiviert ist? Da solltest du dir vielleicht noch mal was anderes ausdenken. Du kannst Felder ja auch einfach sperren.

    Hasta la ciao ciao!

    --
    Don't hate me because I'm beautiful; hate me because I'm smart!
    1. Hallo Caro!

      hate me because i'm smart

      Hate me because I'm driving smart...

      Viele Grüße aus Frankfurt/Main,
      Patrick

      --

         Diblom
      _ - jenseits vom delirium - _
      [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
      Nichts ist unmöglich? Doch!
      Heute schon gegökt?