Sascha321: Select feld

Hallo

Ich habe ein problem mit einem Select feld.
Ich habe es in einer Tabelle die Dynamisch erstellt wird.
Ich bekomme das select feld hin aber keine wert rein.
Kann mir da jemand helfen??
       {
       cell1 = row.insertCell(-1);
       cell1.className = "cell02g";
       afeld = document.createElement("SELECT");
       newOption = document.createElement("OPTION");
       newOption.text = "hallo";
       cell1.appendChild(afeld);
       afeld.appendChild(newOption);
       }

  1. Hallo Sascha321,

    newOption.text = "hallo";

    ich bin mir gerade nicht sicher, aber musst Du die Beschriftung nicht mit:
    createTextNode() erzeugen?

    Mit freundlichem Gruß
    Micha

    --
    LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript
    1. Hallo derletztekick.

      newOption.text = "hallo";

      ich bin mir gerade nicht sicher, aber musst Du die Beschriftung nicht mit:
      createTextNode() erzeugen?

      Man kann, muss hier aber nicht, da das option-HTML-Element über eine http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#option@title=text-Eigenschaft verfügt.

      Einen schönen Sonntag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
      [HTML Design Constraints: Logical Markup]
      1. Hallo Ashura,

        Man kann, muss hier aber nicht

        Alles klar, Danke!

        Mit freundlichem Gruß
        Micha

        --
        LeagueEditor JavaScript :: simple Ligaverwaltung auf der Basis von JavaScript
        1. Hallo

          habe mir das beispiel mal angeschaut werde da aber nicht schlau drauss.
          Ich will das Auswahlfeld nicht Dynamisch gestalten, die Werte ind dem Auswahlfeld sind fix.
          Ich bekomme weder mit Value noch mit sonst irgendwas die Werte des Auswahlfeldes angezeigt.
          Das einzigste was bisher geklappt hat ist innerText.

          Hier ist mal der gesamte Quelltext:

          <html>
          <head>

          <script type="text/javascript">
          <!--
              var auswahl = new Array("text","text","text","text");
              var breite = new Array("4","5","20","7");
              var anzahl = new Array("2","5","5","20","11");
              var buendig =new Array("rtl","rtl","","rtl");
              var basis =new Array("oprn","persnr","maschine","datum","area");

          function addRowToTable()
            {
                 var tbl = document.getElementById('Tabelle');
                 var lastRow = tbl.rows.length;
                 var iteration = lastRow;
                 var row = tbl.insertRow(-1);
                 var cell1 = row.insertCell(-1);
                 cell1.className = "cell02g";
                 var newText = document.createElement("input");
                 newText.type = "text";
                 newText.size = "1";
                 newText.align = "center";
                 newText.value = iteration;
                 newText.maxLength = 2;
                 newText.name = "pos" + iteration;
                 cell1.appendChild(newText);

          for (i=0;i<basis.length;i++)
               {
                 if(basis[i]=="area")
                 {
                  cell1 = row.insertCell(-1);
                  cell1.className = "cell02g";
                  textarea = document.createElement("TEXTAREA");
                  textarea.rows = "5";
                  textarea.cols = "25";
                  textarea.name = basis[i] + iteration;
                  cell1.appendChild(textarea);
                 }
                 else if(basis[i]=="maschine")
                 {
                 cell1 = row.insertCell(-1);
                 cell1.className = "cell02g";
                 afeld = document.createElement("SELECT");
                 newOption = document.createElement("OPTION");
                 newOption.innerText = 'Neues Optionsfeld';
                 cell1.appendChild(afeld);
                 afeld.appendChild(newOption);
                 }
                 else
                 {
                 cell1 = row.insertCell(-1);
                 cell1.className = "cell02g";
                 newText = document.createElement("input");
                 newText.type = auswahl[i];
                 newText.size = breite[i];
                 newText.dir = buendig[i];
                 newText.maxLength = anzahl[i];
                 newText.name = basis[i] + iteration;
                 cell1.appendChild(newText);
                }
               }
            }

          //-->
          </script>
          </head>
            <title></title>
            <link href="style.css" rel="stylesheet" type="text/css" media="all" />
            <body >
          <table width="800" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#666666">
            <tr>
              <td width="80"></td>
              <td style="background-image:url(images/test.jpg)" align="left" height="70" valign="top" ><img src="images/head.gif" alt="" width="295" height="45"></td>
              <td width="80"></td>
            </tr>
            <tr>
              <td height="40"></td>
            </tr>
          </table>
          <form action="speichern.php" method="post">
          <table width="650" border="0" align="center">
              <tr class="cell02g">
                <td class="style4" width="20">Kunde:</td>
                <td><input size="35"></td>
                <td class="style4">Zeichnungsnummer</td>
                <td><input size="20"> </td>
              </tr>
              <tr class="cell02g">
                <td class="style4">Bezeichnung:</td>
                <td><input size="35"> </td>
                <td class="style4">Protokollnummer</td>
                <td><input size="20"> </td>
              </tr>
              <tr class="cell02g">
                <td class="style4">Teilenummer:</td>
                <td><input size="20"> </td>
                <td class="style4">Progr.:</td>
                <td><input size="20"> </td>
              </tr>
          </table>
          <hr width="900" align="center">
          <table id="Tabelle" width="650" cellpadding="2" border="1" align="center">
             <tr class="style4">
              <td align="center">Pos</td>
              <td align="center">OP.Nr.</td>
              <td align="center">Pers.Nr.</td>
              <td align="center">Maschinen Nr.</td>
              <td align="center">Datum</td>
              <td align="center">Text</td>
             </tr>
             <tr class="cell02g">
              <td align="center"><input type="TEXT" name="pos1" size="1" value="1" maxlength="2"></td>
              <td align="center"><input type="TEXT" name="opnr1" size="4" maxlength="5" dir="rtl"></td>
              <td align="center"><input type="TEXT" name="persnr1" size="5" maxlength="5" dir="rtl"></td>
              <td align="center"><input type="TEXT" name="maschine1" size="20" maxlength="20"></td>
              <td align="center"><input type="TEXT" name="datum1" size="7" maxlength="11" dir="rtl"></td>
              <td><textarea name="area1" rows="5" cols="25"></textarea></td>
            </tr>
          </table>

          <table width="705" border="0" align="center">
             <tr>
              <td align="right">
               <form name="Formular" action="">
                  <input type="button" value=" + " onclick="addRowToTable()"><br>
                  <td><input type="submit" value="Speichern"></td>
               </form>
              </td>
             </tr>
          </table>
          </form>
          </body>
          </html>

  2. Hallo Sascha321.

    Ich habe ein problem mit einem Select feld.
    Ich habe es in einer Tabelle die Dynamisch erstellt wird.
    Ich bekomme das select feld hin aber keine wert rein.

    Kann ich hier nicht nachvollziehen. Welche Fehlermeldungen erhältst du?

    Und vielleicht möchtest du dir das http://de.selfhtml.org/javascript/objekte/options.htm#neue_elemente@title=Option-Objekt anschauen, was genau für diesen Zweck geschaffen wurde.

    ~~~javascript

    afeld = document.createElement("SELECT");

    newOption = document.createElement("OPTION");
           newOption.text = "hallo";
           cell1.appendChild(afeld);
           afeld.appendChild(newOption);

      
    Du weist hier im Übrigen lediglich einen Text (Inhalt), aber keinen Wert (value-Attribut) zu …  
      
      
    Einen schönen Sonntag noch.  
      
    Gruß, Ashura  
    
    -- 
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|  
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“  
    [[HTML Design Constraints: Logical Markup](http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/HTMLConstraints.html)]
    
    1. hi,

      Du weist hier im Übrigen lediglich einen Text (Inhalt), aber keinen Wert (value-Attribut) zu …

      Kannst du beim erzeugen einer neuen Option wie von dir vorgeschlagen über das options-Objekt ebenfalls machen - SELFHTML beschreibt alle Parameter außer dem ersten, text, als optional.

      Ist ja auch von der Konformität zu HTML irgendwie logisch - da reicht ja auch ein Textinhalt für Option aus, der dann gleichzeitig den zu verwendenden Value darstellt, falls ein solcher nicht explizit angegeben wurde.

      Allerdings haben wir vor etwa einem Monat nochmal festgestellt, dass der IE hierbei wieder aus der Reihe tanzt - legst du eine Option dynamisch nur mit text und ohne value-Angabe an, dann bleibt value bei ihm einfach leer.
      Es ist also trotz oben gesagtem nach wie vor empfehlenswert, beim dynamischen Erzeugen von Options text _und_ value anzugeben - und wenn man value auch nur mit dem Inhalt von text gleichlautend belegen möchte.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hallo wahsaga.

        Ist ja auch von der Konformität zu HTML irgendwie logisch - da reicht ja auch ein Textinhalt für Option aus, der dann gleichzeitig den zu verwendenden Value darstellt, falls ein solcher nicht explizit angegeben wurde.

        Wieder etwas gelernt, danke.

        Allerdings haben wir vor etwa einem Monat nochmal festgestellt, dass der IE hierbei wieder aus der Reihe tanzt […]

        Das allerdings ist nichts Neues.

        Einen schönen Montag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]