einfaches Ändern von innerHTML
Dodi
- javascript
Hi,
Hier zuerstmein Code:
function mkclickform()
{
if(document.seller.nick.value == "Kundenservice")
{
var element = document.getElementsByName("clickform");
element.innerHTML = "Hallo";
}
}
Das Element clickform existiert, es ist ein Absatz <p>. Dieses Element nimmt aber nicht den Text "Hallo" an. Die Funktion wird aufgerufen.
<p NAME="clickform">abc</p>
[..]
<INPUT type="TEXT" name="nick" size="25" value="" onKeyDown="Ticketcount();mkclickform();">
Warum nimmt mein clickform nicht den Text "Hallo" an?
Viele Grüße und Danke
Dodi
Hallo Dodi.
Hier zuerstmein Code:
function mkclickform()
{
if(document.seller.nick.value == "Kundenservice")
{
var element = document.getElementsByName("clickform");
element.innerHTML = "Hallo";
}
}
Dass die Methode getElementsByName aber eine Kollektion und kein einzelnes Objekt zurückgibt, ist dir bewusst?
> Das Element clickform existiert, es ist ein Absatz <p>. Dieses Element nimmt aber nicht den Text "Hallo" an. Die Funktion wird aufgerufen.
>
> ~~~html
> <p NAME="clickform">abc</p>
>
> [..]
>
> <INPUT type="TEXT" name="nick" size="25" value="" onKeyDown="Ticketcount();mkclickform();">
>
Das http://de.selfhtml.org/html/referenz/attribute.htm#p@title=p-Element verfügt über kein name-Attribut. Du möchtest ihm vermutlich eine ID verpassen und diese per getElementById nutzen.
Einen schönen Freitag noch.
Gruß, Ashura
Hi Ashura
Dass die Methode getElementsByName aber eine Kollektion und kein einzelnes Objekt zurückgibt, ist dir bewusst?
Ich bin kein JS-Coder, sorry, das wusste ich nicht.
Was meinst du mit "Kollektion"?
Das http://de.selfhtml.org/html/referenz/attribute.htm#p@title=p-Element verfügt über kein name-Attribut. Du möchtest ihm vermutlich eine ID verpassen und diese per getElementById nutzen.
Damit funktioniert es. Viele Dank :-D
MfG
Dodi
Hallo Dodi.
Was meinst du mit "Kollektion"?
Eine Kollektion ist eine Sammlung von Objekten. Auf die Objekte in dieser Kollektion greift man wie bei Arrays mit Hilfe des numerischen Indexes zu.
Einen schönen Freitag noch.
Gruß, Ashura
Hallo,
Was meinst du mit "Kollektion"?
Das frage ich mich auch, meint Ashura die Sommer- oder schon die Herbstkollektion? Fehlt gar en Themenbereich »Mode«?
Eine Kollektion ist eine Sammlung von Objekten.
Verwendet doch bitte nicht diesen beknackten Begriff - schon gar nicht in einer solchen sinnentstellenden deutschen Übersetzung.
getElementsByTagName, getElementsByName usw. geben einfach Knotenlisten zurück (NodeList heißt die entsprechende Klasse), Listen mit Elementknoten drin.
Aus Sicht von JavaScript ist eine solche Liste mit einem Array vergleichbar - nämlich insofern, dass man über liste[index] auf die Knoten darin zugreifen kann und insofern, dass die Liste eine length-Eigenschaft hat. (Das sind, wenn ich mich nicht irre, auch schon alle Gemeinsamkeiten.)
Mathias
Hallo,
Eine Kollektion
... sinnentstellenden deutschen Übersetzung.
getElementsByTagName, getElementsByName usw. geben einfach Knotenlisten zurück
Aha, Knotenlisten also. *scnr*
viele Grüße ;-)
Axel
Hi,
var element = document.getElementsByName("clickform");
Das greift auf Elemente zu, die im name-Attribut den Wert clickform stehen haben.
Da name-Attributwerte nicht eindeutig sein müssen, wird hier eine Collection zurückgegeben, nicht ein einzelnes Element.
Aber das ist nicht der einzige Fehler.
Das Element clickform existiert, es ist ein Absatz <p>.
p-Elemente haben kein name-Attribut.
Verwende das id-Attribut und document.getElementById.
cu,
Andreas
Hallo,
Da name-Attributwerte nicht eindeutig sein müssen, wird hier eine Collection zurückgegeben, nicht ein einzelnes Element.
Wer nicht versteht, was getElementsByName zurückgibt, wird auch sicher nicht verstehen, was »Collection« bedeutet.
Mathias