![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Ist es möglich die ID eines beliebigen Formularelementes (also z.B. select) mit JavaScript zu ermitteln? Den Inhalt eines Elements kann ich ja (z.B. beim draufklicken) mit this.value ermitteln. Ich dachte da jetzt für die ID an sowas wie this.id. |
#3
| |||
| |||
|
| Dennis Schmidt wrote: Ist es möglich die ID eines beliebigen Formularelementes (also z.B. select) mit JavaScript zu ermitteln? Den Inhalt eines Elements kann ich ja (z.B. beim draufklicken) mit this.value ermitteln. Ich dachte da jetzt für die ID an sowas wie this.id. Dann nimm es doch. Mit alten Browsern wie Netscape 4 wird das undefined sein, aber in neueren Browsern ist die Eigenschaft implementiert: http://www.w3.org/TR/DOM-Level-2-HTM...ml#ID-63534901 Sry, Hab mich wohl zu ungenau ausgedrückt. |

#4
| |||
| |||
|
|
Mit ID meinte ich jetzt nicht die HTML-ID, sondern die ID, also durchgehende Nummer des jeweiligen Formularelements. Also die Nummer, die man braucht um dieses Element mit window.document.forms["name"].elements[ID] anzusprechen. Wobei ID dann eben die Zahl des Feldes ist ![]() |
#5
| |||
| |||
|
| Dennis Schmidt wrote: Mit ID meinte ich jetzt nicht die HTML-ID, sondern die ID, also durchgehende Nummer des jeweiligen Formularelements. Also die Nummer, die man braucht um dieses Element mit window.document.forms["name"].elements[ID] anzusprechen. Wobei ID dann eben die Zahl des Feldes ist ![]() Wenn du das Element selbst, also this hast, dann uebergib es direkt an eine Funktion, da ist es nicht noetig, einen Index zu uebergeben und dann wieder vom Index das Element zu suchen. So du wirklich den Index in einer Kollektion haben willst, dann musst du die Kollektion durchlaufen also function getIndex (collection, element) { for (var i = 0; i < collection.length; i++) { if (element === collection[i]) { return i; } } return -1; } input onclick="var index = getIndex(this.form.elements, this);" |
#6
| |||
| |||
|
|
Hmm, schade... Dachte das ginge "eleganter". |
#7
| |||
| |||
|
|
Martin Honnen schrieb: input onclick="var index = getIndex(this.form.elements, this);" Dachte das ginge "eleganter". |
|
Wieso vergleichst du die beiden Objekte mit === und nicht nur ==? |
|
Ich dachte immer dass === wäre nur da, um Boolsche Werte korrekt zu vergleichen. Also dass z.B. alert((true === 1) ? "gleich" : "ungleich"); nicht "gleich", sondern "ungleich" liefert. |
![]() |
| Thread Tools | |
| Display Modes | |
| |