Ich habe ein Formular, das als
markiert ist %Vor% Normalerweise könnte ich auf die Aktion des Formulars in Javascript zugreifen, indem ich auf das .action
des Formularobjekts verweise, zum Beispiel
würde den Wert
zurückgeben %Vor%Wenn ich jedoch als Komponente des Formulars ein Element namens "Aktion" habe, wird diese "Aktion" zum Inhalt der Aktion des Formulars. Das heißt, wenn das Formular-Markup beispielsweise
enthält %Vor%Dann
%Vor%gibt den Wert
zurück %Vor%Nun habe ich herausgefunden, wie ich das umgehen kann: mit
%Vor%Allerdings ist es eine böse Sache, die mich zu lange verwirrt hat. Ist das ein Fehler? Eine bekannte Frage der DOM-Verwaltung? Oder sollte ich mir einfach angewöhnen, .getAttribute () zu verwenden?
Ich würde das nicht als Fehler bezeichnen. Dieser Effekt tritt auf, weil Attribute mit element.attributename
gelesen werden können und auf benannte Eingaben in einem Formular auf die gleiche Weise zugegriffen werden kann, formelement.inputname
. Wenn es ein Attribut und eine Eingabe mit demselben Namen gibt, gibt es keine Garantie, welche verwendet wird. Es verhält sich wahrscheinlich in verschiedenen Browsern anders.
Ich benutze getAttribute
persönlich, wenn ich ein bekanntes Attribut lese, das im Markup enthalten war oder mit setAttribute
in JavaScript hinzugefügt wurde. Für dynamische Werte, wie zum Beispiel das Attribut checked
eines Kontrollkästchens, verwende ich getAttribute
nicht. Aber das ist wohl eher eine Frage der persönlichen Präferenz.
Tags und Links javascript html-form