Jan: Verweis auf ein Formular

Hallo

Ich mach immernoch mein Info-Projekt :-)
Und zwar hab ich dieses Problem:
In der 4. Zeile des untenstehenden Codes hab ich sizeid[ID] geschrieben... damit will ich erreichen das ich für die vielen Produkte des Shops nicht jeweils eine eigene Funktion schreiben muss.
Das funktioniert aber so nicht... Ich kann das nicht gut erklären, hoffe aber ihr versteht was ich für ein Problem habe... Danke für Antworten!

function kaufen(ID)
{
var size=kleidungsform.sizeid[ID].options[kleidungsform.sizeid[ID].selectedIndex].value;
var typ=kleidungsform.typid[ID].options[kleidungsform.typid[ID].selectedIndex].value;
var produktid=ID;
parent.parent.warenkorb.warehinzufuegen(produktid,size,typ);
}

Jan

  1. hi,

    var size=kleidungsform.sizeid[ID].options[kleidungsform.sizeid[ID].selectedIndex].value;

    elements: Allgemeines zur Verwendung, Schema 3.

    gruß,
    wahsaga

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

      »»elements: »»Allgemeines zur Verwendung, Schema 3.

      Das hilft mir grade nicht weiter. Ich hab es ausprobiert mit den "" in den eckigen Klammern, geht aber nicht.

      Das genaue Problem ist, dass ich nicht für alle Produkte eigene Funktionen schreiben will (Handelt sich um einen Online-Shop). Für jedes Produkt gibt es 2 bestimmt Auswahllisten für Größe und Typ. Die heißen sizeid1, sizeid2, sizeid3, .. usw. und
      typid1, typid2, typid3, .. usw.

      Jetzt will ich anstatt der Zahlen in den Namen eine Variable einfügen, die schon mit der Zahl belegt ist.

      Also: kleidungsform.sizeid[in diese Klammern kommt die Variable, dh die Zahl, sodass hier nachher für das Script z.B. "sizeid6" steht].value

      Und ich weiß nicht ob das geht, oder ob ich für jedes Produkt doch eine Funktion schreiben muss, immer mit

      kleidungsform.sizeid1.value

      dann die nächste:
      kleidungsform.sizeid2.value

      dann die...
      kleidungsform.sizeid3.value

      Danke für Antworten und Sorry wenn das in der geposteten Erläuterung schon drinstand, ich hab es irgendwie nicht verstanden!

      Jan

      1. hi,

        Die heißen sizeid1, sizeid2, sizeid3, .. usw. und
        typid1, typid2, typid3, .. usw.

        Also: kleidungsform.sizeid[in diese Klammern kommt die Variable

        nein, so naztürlich nicht.
        deine elemente heißen doch nicht sizeid[xy], sondern wie du oben schreibst sizeidxy.
        also kommt auch "sizexy" komplett in die klammer hinter elements.

        Danke für Antworten und Sorry wenn das in der geposteten Erläuterung schon drinstand

        ja, tut es.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Tag Jan.

        Das genaue Problem ist, dass ich nicht für alle Produkte eigene Funktionen schreiben will (Handelt sich um einen Online-Shop). Für jedes Produkt gibt es 2 bestimmt Auswahllisten für Größe und Typ. Die heißen sizeid1, sizeid2, sizeid3, .. usw. und
        typid1, typid2, typid3, .. usw.

        Ich habe da mal was gebastelt, vielleicht hilft's:

        Funktion im Kopfbereich der HTML-Datei:

        function kaufen() {  
          var obj_was = document.forms['Formularname'].elements['was'];  
          var obj_size = document.forms['Formularname'].elements['size'];  
          var obj_typ = document.forms['Formularname'].elements['typ'];  
          var was = obj_was.options[obj_was.selectedIndex].value;  
          var size = obj_size.options[obj_size.selectedIndex].value;  
          var typ = obj_typ.options[obj_typ.selectedIndex].value;  
          var ok = window.confirm("Diese Bestellung hinzufuegen: "+was+" ("+typ+") in Groesse "+size+"?");  
          if(ok) {  
            alert("Bestellung wird hinzugefuegt");  
          }  
          else {  
            alert("Bitte neu waehlen");  
          }  
          document.forms['Formularname'].reset();  
          return false;  
        }
        

        Beispielformular im Körper der HTML-Datei:

        <form name="Formularname" action="" onsubmit="return kaufen()">  
          <select name="was" size="10">  
            <option value="Hose">Hose</option>  
            <option value="Hemd">Hemd</option>  
            <option value="Jacke">Jacke</option>  
          </select>  
          <select name="size" size="10">  
            <option value="38">Groesse 38</option>  
            <option value="40">Groesse 40</option>  
            <option value="42">Groesse 42</option>  
          </select>  
          <select name="typ" size="10">  
            <option value="schwarz">schwarz</option>  
            <option value="gelb">gelb</option>  
            <option value="blau">blau</option>  
          </select>  
          <input type="submit" value="Hinzufuegen">  
        </form>
        

        Siechfred