Element-Objekt-Variable definieren?

Hi,

ich hatte eben versucht, mit document.getElementById() zu arbeiten, weil der FireFix darauf besteht. Dabei dachte ich, dass ich eine Variable definieren kann, die das so referenzierte Element-Objekt quasi als Link aufnimmt:

var E1 = document.getElementById("Element1");
E1.value = "Ein Inhalt";

Genau das klappte aber weder im IE, noch im Firefox. In VB würde man sowas mit Set machen, aber hier in JS fällt mir momentan keine andere Variante ein, da es auch keinen Element-Typ zu geben scheint, den man zusammen mit new verwenden könnte oderso.

Hat jemand eine Idee? Sonst wäre man ja gezwungen, im Code immer das ganze Grümpel hinzuschreiben, was sehr unleserlich wäre.

Danke,
Kristian

var E1 = document.getElementById(„Element1“);

Wenn es sich um das gleiche Problem wie „unten“ handelt, dann wirst Du ohne eine ID zu vergeben wenig Erfolg haben, siehe getElementByName , denn nur den vergibst Du.

Gruß
Christian

var E1 = document.getElementById(„Element1“);

Wenn es sich um das gleiche Problem wie „unten“ handelt, dann
wirst Du ohne eine ID zu vergeben wenig Erfolg haben, siehe
getElementByName , denn nur den vergibst Du.

Du hast Recht, aber ich hatte natürlich beides ausprobiert, ID und NAME (auch im HTML). Und wenn ich es direkt ansprach, ging es ja auch, aber ich wollte ja sozusagen einen Alias haben, um nicht überall document.getElementById(„E1“) schreiben zu müssen, was schon sehr nervig wäre. Es muss doch möglich sein, das auch ohne with abzukürzen!

Nochmal zu Deiner anderen Antwort: Mit einer Form hatte ich es auch probiert, allerdings hatte ich auch da den Namen direkt angesprochen (also F.Element). Auf die Variante mit Forms[] war ich noch nicht gekommen. Das müsste vielleicht sogar mit dem Alias klappen, denn sowas hatte ich schomal gemacht, glaube ich.

Danke erstmal unsc schönen Tag noch,
Kristian

Hallo,

es gibt schon eine Möglichkeit, das event , denn hier ist ja hinterlegt was feuert. Nur musst Du dann eine Browserweiche einsetzen, denn der IE hat sein eigenes Eventhandling und der Rest der Bande arbeitet mit DOM.

Gruß
Christian

Dabei dachte
ich, dass ich eine Variable definieren kann, die das so
referenzierte Element-Objekt quasi als Link aufnimmt

var
E1 = document.getElementById(„Element1“);
E1.value = „Ein Inhalt“;

Genau das klappte aber weder im
IE, noch im Firefox.

geht schon, die frage ist welchen typ Element1 hat. was sagt denn alert(E1), nachdem du es definiert hast?

wenn es ein input type text waere wuerde es gehen, wenn du aber z.b. den inhalt eine p-tags aendern moechtest solltest du die eigenschaft innerHTML veraendern.

Hi,

ich hatte eben versucht, mit document.getElementById()
zu arbeiten, weil der FireFix darauf besteht. Dabei dachte
ich, dass ich eine Variable definieren kann, die das so
referenzierte Element-Objekt quasi als Link aufnimmt:

var
E1 = document.getElementById(„Element1“);
E1.value = „Ein Inhalt“;

Genau das klappte aber weder im
IE, noch im Firefox. In VB würde man sowas mit Set
machen, aber hier in JS fällt mir momentan keine andere
Variante ein, da es auch keinen Element-Typ zu geben
scheint, den man zusammen mit new verwenden könnte
oderso.

Verstehe ich dich richtig: Du möchtest ein Attribut eines HTML-Elements verändern?? Zur Klarstellung:

Wenn ja, dann empfehle ich dir auf die Grundfunktionen des DOM-Objekts zurückzugreifen:

E1 = document.getElementById(„Element1“);
E1.setAttributeNS(null,„value“,„Ein Inhalt“);

In der Funktion setAttibuteNS ist der erste Parameter der Namespace. Höchst wahrscheinlich befindest du dich im nativen Namespace (meist html), sodass du eine „null“ übergeben kannst. Dann kommt der Attributname, dann der Attributinhalt.

Das Attribut muss natürlich existieren. Das ist bei input-Elementen der Fall. Wenn du aber den Inhalt eines p-Elements ändern möchtest, wird das ein wenig komplizierter. Ich würde nicht das von dog.je vorgeschlagene innerHTML benutzen, da es kein Standard ist und unter Firefox nicht für XHTML-Seiten funktioniert. Alternativen finden sich aber im Internet zu Hauf. Diese Seite würde ich empfehlen:

http://slayeroffice.com/articles/innerHTML_alternati…

Gruss, Omar Abo-Namous

Moin,

danke für die Anregungen. Allerdings hat es nun wie geplant funktioniert, nachdem zwischendurch selbst der IE nicht mehr wollte, was vorher ging. Muss wohl doch irgendwas faul gewesen sein.

Das Ergebnis im im UPDATE-Posting unten zu „bestaunen“ :wink:

Danke und viele Grüße,
Kristian