Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] dynamisches Ein- und Ausblenden funktioniert nicht

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] dynamisches Ein- und Ausblenden funktioniert nicht

    Ich habe ein Formular mit Selectbox und möchte nun gewisse Inhalte ein- und ausblenden, je nachdem was ausgewählt wurde.
    Ich habe mal eine einfache Version des Code's erstellt, um zu veranschaulichen, was ich meine:

    PHP-Code:
    <form  name='newData' method=POST action=''>
    <
    label for='typ'>Hardwaretyp: </label>
    <
    select class='typ' id='typ' name='typ' size='1' style='width: 250px' onchange='showAffiliations();'>
        <
    option selected>Bitte Typ w&auml;hlen</option>
        <
    option>Workstation</option>
        <
    option>APC</option>
        <
    option>Drucker</option>
        <
    option>LapTop</option>
    </
    select>
    <
    div id='rechner' style='display:none;' >
        
    HALLO DU DA
    </div>
        
    Es ist ein schöner Tag
    </form
    Code:
    function showAffiliations() {
    	var wert=document.newData.typ.value;
      switch (wert) {
    	case "Workstation":
    		document.getElementById ('rechner').style.display == 'block';
    		break;
    	case "APC":
    		document.getElementById ('rechner').style.display == 'block';
    		break;
    	case "LapTop":
    		document.getElementById ('rechner').style.display == 'block';
    		break;
     	default:
    		document.getElementById ('rechner').style.display = 'none';
    		break;
      }
    }
    Leider wird der Inhalt des DIVs nie eingeblendet.
    Wo ist mein Fehler?
    Lasse ich den "style='display:none;' "-Eintrag im DIV weg, wird es solange angezeigt, bis ich eine Option auswähle, die Display:none setzt und danach dann nie wieder

    Hab den Code auch auf http://jsfiddle.net/ getestet...
    Es tritt genau das auf, was ich hier schildere.
    habe auch schonmal bei case1-3 nen Alert-Fenster eingbaut als Test. Das erscheint sofort!

  • #2
    Code:
    <option>Workstation</option>
    Du musst schon ein Value eintragen, das übertragen werden soll
    Code:
    <option value="Workstation">Workstation</option>
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Stimmt, hatte ich hier beim einfachen Beispiel vergessen
      Funktioniert trotzdem nicht, wie erwartet (siehe Testseite)

      Kommentar


      • #4
        Code:
        <form  name='newData' method=POST action=''>
        Nur so am Rande: Der method-Wert sollte in " oder ' stehen.

        Zitat von lstegelitz Beitrag anzeigen
        Code:
        <option>Workstation</option>
        Du musst schon ein Value eintragen, das übertragen werden soll
        Für das JS ist es nicht nötig. Der Text-Inhalt des Option-Elements ist der value.

        Code:
        document.getElementById('rechner').style.display == 'block';
        document.getElementById('rechner').style.display == 'block';
        document.getElementById('rechner').style.display == 'block';
        document.getElementById('rechner').style.display = 'none';
        Eine Zeile tanzt aus der Reihe - warum? Tut sie als einzige das richtige oder hat doch eher die Masse recht?

        Kommentar


        • #5
          Zitat von monolith Beitrag anzeigen
          Code:
          <form  name='newData' method=POST action=''>
          Nur so am Rande: Der method-Wert sollte in " oder ' stehen.


          Für das JS ist es nicht nötig. Der Text-Inhalt des Option-Elements ist der value.

          Code:
          document.getElementById('rechner').style.display == 'block';
          document.getElementById('rechner').style.display == 'block';
          document.getElementById('rechner').style.display == 'block';
          document.getElementById('rechner').style.display = 'none';
          Eine Zeile tanzt aus der Reihe - warum? Tut sie als einzige das richtige oder hat doch eher die Masse recht?
          Habs verstanden
          Die doppelten Gleichzeichen waren verkehrt
          Danke

          Kommentar


          • #6
            == ist ein Vergleich, = ist eine Zuweisung.

            edit: too late
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar

            Lädt...
            X