Grüssi
ich möchte aus einem dropdown feld die gewählte value auslesen,
dazu habe ich per link auf eine funktion verwiesen, die folgenden
wert = document.rechner.groesse.options.selectedIndex.value;
Versuchs mal mit der etwas abstrus aussehenden Konstruktion:
document.rechner.groesse.options[document.rechner.groesse.options.selectedIndex].value
Die selectedindex-Property liefert dir den Index des ausgewählten Objekts, logischerweise kannst du dann nicht noch ein value-Property dranhängen. Daher ist dieser kunstvolle Workaround notwendig ;-)
Da die options JS-intern als Arrays gespeichert werden, musst du sie über einen Index ansprechen, wenn du einen value auslesen willst. Und den entsprechenden Index bekommt man eben mit document.rechner.groesse.options.selectedIndex
kann mir noch mal jemand genau schildern was es denn mit diesem
"has no properties" auf sich hat? was soll das, "hat keinen besitz?"
Also, kurz gesagt, heisst es dass irgendwas nicht stimmt ;-) Die beglückende Arbeit, den Fehler zu suchen wird dem Programmierer überlassen. Das ist die Standardantwort des Clients auf einen JS-Fehler! Meistens ist der Grund dafür, dass eine Property keinen definierten Wert hat, oder diese Property für das angegebene Objekt nicht existiert. Womit wir schon beim Thema wären:
Der Unterschied zwischen Properties und Objekten:
Property heisst nicht zwangsweise immer "Besitz". In deinem Fall kommt man wohl mit "Eigenschaft" etwas mehr voran ;-) Javascript ist objektorientiert aufgebaut. Und wie der Name schon sagt, werden Objekte zur verfügung gestellt Ein form ist Beispielsweise so ein Objekt. Es kann Unterobjekte haben. form.elements zum Bleistift! Und jedes Objekt hat Eigenschaften, die dieses Objekt näher spezifizieren. Manche Eigenschaften sind read/write (z.b. form.elements[0].value) andere wiederum nur zum Auslesen gedacht (form.elements[0].type)
Du kannst dir Properties als Funktionen vorstellen, die deine Objekte nach ihren Beschaffenheiten abfragen, bzw. auch als Funktionen, mit denen du (einzelne *Eigenschaften*) diese Objekte ändern kannst!
hth + lg
bernhard
PS: Als Lektüre zum besseren Verständnis empfehle ich den JS-Teil von Selfhtml:
http://www.teamone.de/selfhtml/te.htm
und die darin befindliche Objektreferenz zur leichteren Veranschaulichung:
http://www.teamone.de/selfhtml/tec.htm