[JavaScript] Text von Select Option bekommen

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

  • [JavaScript] Text von Select Option bekommen

    ich hab hier folgenden Code:

    Code:
     
     <script type="text/javascript">
      <!--
      function Hinzufuegen() {
      NeuerEintrag = new Option(document.Testform.neu.text,document.Testform.neu.value,false,true);
      document.Testform.Auswahl.options[document.Testform.Auswahl.length] = NeuerEintrag;
      document.Testform.neu.value = "";
      }
      //-->
    </script>
    <form name="Testform" action="">
      <select name="Auswahl" size="8">
        <option>Ein Eintrag</option>
      </select>
      <br>
      <select name="neu" size="8">
        <option value='001'>Ein 1 Eintrag</option>
        <option value='002'>Ein 2 Eintrag</option>
        <option value='003'>Ein 3 Eintrag</option>
      </select>
      <input type="button" value="Hinzu" onClick="Hinzufuegen()">
    </form>
    Ich hab also eine Liste mit mehreren Einträge und möchte nun Text und Value dieser Liste in eine andere Übertragen. Leider bekommen ich den Text von "neu" nicht in "Auswahl", da "document.Testform.neu.text" nicht das richtige ist.

    Kann mir da jemand helfen?

    DAnke schonmal,

    Holy

  • #2
    Re: [JavaScript] Text von Select Option bekommen

    Original geschrieben von holyfreak
    Leider bekommen ich den Text von "neu" nicht in "Auswahl", da "document.Testform.neu.text" nicht das richtige ist.
    natürlich nicht - "neu" ist der name deines select-feldes.
    du willst aber auf die einzelnen options zugreifen, also mache dies auch.

    schau dir das beispiel bei selfhtml an.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Du bist mein Held


      es funktioniert, 1000 Dank

      Kommentar


      • #4
        neues problem

        ich hab jetzt die Select Option richtig drinn und drücke nun den submit button.

        wie bekomm ich nun die werte der selectoption in php?

        in $Auswahl stehen die werte nicht drinn, ich dachte das wird als array übergeben.

        Kommentar


        • #5
          Original geschrieben von holyfreak
          wie bekomm ich nun die werte der selectoption in php?

          in $Auswahl stehen die werte nicht drinn, ich dachte das wird als array übergeben.
          als array wird das nur übergeben, wenn du [] an den namen anhängst, also name="Auswahl[]".

          warum du aber überhaupt ein array erwartest, wenn dein select-feld gar nicht vom typ multiple ist, ist mir noch schleiereule ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            es muss nicht unbedingt ein array sein, wenn es anders geht nehm ich es auch so.

            das problem ist nur, das ich alle werte des select option brauche, also nicht nur den ausgewählten, sondern alle.

            mit auswahl[] hab ich schon probiert, dann funktionieren aber die javascripte nichtmehr.

            Kommentar


            • #7
              Original geschrieben von holyfreak
              das problem ist nur, das ich alle werte des select option brauche, also nicht nur den ausgewählten, sondern alle.
              dann hassu aber ein problem - es werden nur die markierten werte beim abschicken eines formulars übertragen.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Original geschrieben von holyfreak
                das problem ist nur, das ich alle werte des select option brauche, also nicht nur den ausgewählten, sondern alle.
                1. wozu?

                  lässt sich bestimmt auch anders lösen
                2. wenn du den inhalt der select-box mit php generierst, dann lass diese routine nochmal laufen, dann weißt du auch was du drin stehen hattest
                3. wenn du den inhalt fest reinschreibst, weißt du's auch
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  okay, nochmal zu erklärung:


                  ich hab 2 Listen

                  in der einen Liste stehen namen, in der anderen nix.
                  nun kann der user namen aus der einen liste in die andere übertragen, das ganze hab ich mit dem obigen js gelöst.
                  unten im formular ist dann ein button absenden, welcher die seite neu läd.
                  nun lese ich in php die anderen Formulardaten aus und brauche auch die ausgewählten namen aus der combobox.

                  Kommentar


                  • #10
                    nachdem das alles ja eh nur funktioniert, wenn der benutzer js aktiviert hat, könntest du beim abschicken des formulars mit js alle einträge des feldes markieren
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      versuchs mal so:

                      - mach ein array aus der select-box => boxname[]
                      - häng noch "multiple" dran
                      - ruf mit onsubmit() eine weitere js-funktion auf, die
                      --> mit selectedIndex und einer schleife alle einträge selectiert
                      - erst dann wird das formular gesendet
                      Kissolino.com

                      Kommentar


                      • #12
                        gibt es denn eine bessere Möglichkeit?

                        Wenn alles markiert ist, dann geht es oder wie?

                        Kommentar


                        • #13
                          Was wuselt ihr euch denn hier für einen Unsinn zusammen?

                          Wenn du eine Box mit bereits eingetragenen Werten anzeigen kannst, dann kennst du diese Daten doch bereits!

                          Wenn der Benutzer nun ein oder mehrere Items markiert, um sie zu übertragen, dann zeigst du beim abschicken einfach wieder alle Items bis auf die vorher ausgewähltebn an. Was soll denn daran so schwer sein?

                          Anders ist es sicher moeglich, ob es sauber ist, ist fraglich. (Wahrscheinlich funktioniert es dann auf ca. 0,4% aller Konfigurationen)

                          Kommentar


                          • #14
                            Na wenn das so einfach, dann kannst du das ja bitte mal machen, weil ich bekomm es nicht hin.

                            Hier ist alles, was ich bereits gemacht habe:


                            Die 2 Felder mit den Buttons
                            PHP-Code:
                                            <form action='<? echo $PHP_SELF."?kdnr=".$KundenKdnrFromDB ?>' name='Anlegen' method='post'> 

                                                          <tr>
                                                            <td id="tdrow1">Ansprechpartner</td>
                                                            <td id="tdrow2">dem Angebot zugeordnet:<br>
                                                              <select name="ANSPRAKTIV[]" id='dropdown' size="5"  multiple="yes">
                                                              </select>
                                                            </td>
                                                            <td id="tdrow2" width="10">
                                                              <input type="button" value="<<<" id='button2' onClick="Hinzufuegen()"><br>
                                                              <input type="button" value=">>>" id='button2' onClick="Entfernen()">
                                                            </td>
                                                            <td id='tdrow2'>noch nicht zugeordnet:<br>
                                                            <?
                                                            $sql="SELECT anspr, name, vname FROM cdb_ansprechpartner WHERE kdnr = ".$KundenKdnrFromDB;
                                                              if(mysql_query($sql, $verbindung))
                                                              {
                                                                $result = mysql_query($sql, $verbindung);
                                                                $anzahl = mysql_num_rows($result);
                                                                if ($anzahl == 0)
                                                                {
                                                                  echo "<select name='ANSPRECHPARTNER' id='dropdown'>";
                                                                echo "<option value='0'>keine Partner angelegt</option> \n";
                                                                echo "</select></td>";
                                                                }
                                                                
                                                                if ($anzahl != 0)
                                                                {
                                                                  echo "<select name='ANSPRINAKTIV[]' id='dropdown' size='5' multiple='yes'>";
                                                                while ($daten = mysql_fetch_array($result))
                                                                {
                                                                  echo "<option value='".$daten["anspr"]."'>".$daten["vname"]." ".$daten["name"]."</option> \n";
                                                                }
                                                                echo "</select></td>";
                                                              }
                                                            }
                                                            ?>
                                                          </tr>
                                                                                    <input type='submit' value='Angebot anlegen' id='button'>
                                <input type='hidden' name='sent' value='newokay'>
                            </form>
                            dann die 2 Javascripts:
                            PHP-Code:
                            <script type="text/javascript">
                              
                              <!--
                              var 
                            aktivarray = new Array();
                              
                              function 
                            Hinzufuegen() 
                              {
                                
                            NeuerEintrag = new Option(document.Anlegen.elements['ANSPRINAKTIV[]'].options[document.Anlegen.elements['ANSPRINAKTIV[]'].selectedIndex].text ,document.Anlegen.elements['ANSPRINAKTIV[]'].value,false,true);
                                
                            document.Anlegen.elements['ANSPRAKTIV[]'].options[document.Anlegen.elements['ANSPRAKTIV[]'].length] = NeuerEintrag;
                                
                            document.Anlegen.elements['ANSPRINAKTIV[]'][document.Anlegen.elements['ANSPRINAKTIV[]'].selectedIndex] = null;
                                
                            document.Anlegen.elements['ANSPRINAKTIV[]'].value "";
                              }
                              
                              function 
                            Entfernen() 
                              {
                                
                            NeuerEintrag = new Option(document.Anlegen.elements['ANSPRAKTIV[]'].options[document.Anlegen.elements['ANSPRAKTIV[]'].selectedIndex].text ,document.Anlegen.elements['ANSPRAKTIV[]'].value,false,true);
                                
                            document.Anlegen.elements['ANSPRINAKTIV[]'].options[document.Anlegen.elements['ANSPRINAKTIV[]'].length] = NeuerEintrag;
                                
                            document.Anlegen.elements['ANSPRAKTIV[]'][document.Anlegen.elements['ANSPRAKTIV[]'].selectedIndex] = null;
                                
                            document.Anlegen.elements['ANSPRAKTIV[]'].value "";
                              }
                              
                            //-->
                            </script
                            und die Ausgabe nach dem erneuten Laden der PHP Seite durch submit:

                            PHP-Code:
                                echo "--".count($_GET['ANSPRAKTIV'])."--";
                                if (isset(
                            $ANSPRAKTIV[]))
                                {
                                  echo 
                            "--".count($ANSPRAKTIV)."--";
                                 
                            // foreach ($ANSPRAKTIV[] AS $ausgabe)
                                 // {
                                 //   echo $ausgabe; 
                                 // }
                                
                            }
                                die(); 


                            bei mir funzt es nicht, das array ist nach dem Laden leer.

                            Holy

                            Kommentar


                            • #15
                              du sendest per POST und fragst $_GET ab

                              gib mal mit
                              PHP-Code:
                              echo "<pre>";
                              print_r($_POST);
                              echo 
                              "</pre>"
                              aus, was beim script ankommt.
                              Kissolino.com

                              Kommentar

                              Lädt...
                              X