neues Feld einblenden mittels onchange

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

  • neues Feld einblenden mittels onchange

    Hallo zusammen

    Ich bin da an einem Problem und weiss gar nicht ob das so geht?!
    Folgendes, ich möchte nach der Auswahl eines <select > feldes ein zusätzliches <input> einblenden - aber nur bei einem bestimmten Eintrag.

    Geht das überhaupt und wie gehe ich vor. Um das zusätzliche Feld einzublenden habe ich nun folgendes gemacht.
    PHP-Code:
     <script type="text/javascript">
    <!--
    function 
    galerieoption()
    {
        
    document.getElementById("option").style.visibility "visible";
    }
    //-->
    </script>

    <
    select  onchange='galerieoption()' name="selectfeld">
    <
    option selected value="1" >1</option>
    <
    option selected value="2" >2</option>
    <
    option selected value="3" >3</option>
    <
    input type="text" name="option" value="" style="visibility:hidden;" 
    Nun sollte das Feld optionen nur eingeblendet werden wenn im select die 2 angewählt wird.

    Kann mir da jemand helfen?

  • #2
    probier mal so was wie
    PHP-Code:
    bla document.formularname.selectfeld.selectedIndex
    und dann prüf mal mit
    PHP-Code:
    alert (bla.length); 
    aber ohne gewähr. hab noch nie per js auf multiple-select felder zugegriffen.

    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Dann erhalte ich die Meldung undefiniert. Es ist auch nur ein Beispiel mit 1, 2, 3 der inhalt der Optionsfelder sind später worte.

      Kommentar


      • #4
        habs mal auf eben getestet. selectedIndex funzt bei multiple nicht. auf die schnelle könnte man das so machen:
        PHP-Code:
        <script type="text/javascript">
          function 
        showInfo ()
          {
            var 
        hit 0;
            for (
        0document.blubb.blubber.lengthi++)
            {
              if (
        true == document.blubb.blubber[i].selected)
              {
                
        hit++;
              }      
            }
            if (
        == hit)
            {
              
            }
          }
        </
        script>
        <
        form action="bla" method="post" name="blubb">
          <
        select name="blubber" multiple="multiple" onclick="showInfo();">
            <
        option value="0">-----</option>
            <
        option value="1">Bla</option>
            <
        option value="2">Laber</option>
            <
        option value="3">Schwall</option>    
          </
        select>
        </
        form
        vieleicht gibt es eine bessere möglichkeit, aber die funktioniert schon mal.

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Danke, aber leider funzt Dein Beispiel nicht.
          Beim anwählen des bla sollte das input text eingeblendet werden.

          PHP-Code:
          <script type="text/javascript">
          <!--
            function 
          showInfo ()
            {
              var 
          hit 0;
              for (
          0document.form.selectfeld.lengthi++)
              {
                if (
          true == document.form.selectfeld[i].selected)
                {
                  
          hit++;
                }      
              }
           
          alert (hit);
              if (
          == hit)
              {
             
          document.getElementById("option").style.visibility "visible";   
              }
            }
          //-->
          </script>
          <
          form action="bla" name="form" method="post">
          <
          select  onchange='showInfo()' name="selectfeld">
          <
          option selected value="1" >1</option>
          <
          option selected value="bla" >Bla</option>
          <
          option selected value="3" >3</option>
          </
          select>
          <
          input type="text" name="option" value="" style="visibility:hidden;" >
          </
          form
          Zuletzt geändert von sepp; 07.12.2008, 01:11.

          Kommentar


          • #6
            Dies könnte daran liegen, dass ihr doch aneinander vorbeiredet, wenn es um den Code geht, aber das Prinzip ist indirekt das gleiche.

            Frage: Willst du eine normale <select> mit einer Auswahlmöglichkeit (z.b. dein Code) oder willst du eins, mit mehreren A~keiten (siehe Kropffs Code)

            Danach richtet sich dann auch das Javascript, welches deine Aktion ausführen soll.

            ..und informier dich bitte über "selected". Deine Anwendung davon ist unsinnig und falsch.

            mfg

            Kommentar


            • #7
              Original geschrieben von sepp
              Danke, aber leider funzt Dein Beispiel nicht.
              hab dich falsch verstanden.
              PHP-Code:
                function showInfo ()
                {
                  
              sel document.form.selectfeld.selectedIndex;
                  if (
              'bla' == document.form.selectfeld.options[sel].value)
                  {
                    
                  }
                } 
              allerdings sollte dein textfeld schon eine id bekommen.

              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar

              Lädt...
              X