neues Feld einblenden mittels onchange

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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.

      Comment


      • #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

        Comment


        • #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
          Last edited by sepp; 07-12-2008, 00:11.

          Comment


          • #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

            Comment


            • #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

              Comment

              Working...
              X