Hauptmenü

Untermenü

JavaScript - Objektreferenz- document - forms - elements

1. Das Objekt

Mit elements greift man auf die einzelnen Elemente eines Formulars zu. Dabei gibt es, wie könnte es auch anders sein, mehrere Möglichkeiten. Das funktioniert auch hier genau so wie bei forms. Mit elements und ohne, über den numerischen Index, über den Namen, mit Klammern und ohne.


form  document.formularname;
blubb form.elements[0]
blubb form.elementname
blubb form.elements.elementname
blubb form.elements['elementname']

Ich persönlich arbeite eigentlich nur mit der zweiten Variante. In Ausnahmefällen auch mal mit der ersten und vierten, wenn ich dynamisch auf mehrere Formularelemente zugreifen muss.

2. Die Eigenschaften

Bei vielen der folgenden Eigenschaften kann man die Werte sowohl auslesen als auch ändern. Allerdings funktioniert Letzteres nicht immer im Internet Explorer. Darauf werde ich euch aber dann hinweisen.

checked, defaultChecked

Firefox Opera Safari Google Chrome Internet Explorer

Diese Eigenschaft kann man bei input-Elementen vom Typ radio oder checkbox anwenden. Dabei liest oder setzt man das HTML-Attribut checked. defaultChecked bezieht sich dabei auf den vorgegebenen Wert, daher ist es ziemlich sinnfrei, den zu ändern.


<form name="blubb">
  <input type="checked" name="blubber">
</form>
document.blubb.blubber.checked true;

disabled, readonly

Firefox Opera Safari Google Chrome Internet Explorer

Hiermit kann man die gleichnamigen HTML-Attribute auslesen, setzen oder ändern. Daher ist diese Eigenschaft auf alle Formularelemente anwendbar.


<form name="blubb">
  <input type="text" name="blubber">
</form>
document.blubb.blubber.disabled true;

name

Firefox Opera Safari Google Chrome Internet Explorer

Damit kann man das name-Attribut auslesen, setzen oder ändern. Ist meiner Meinung nach im praktischen Einsatz nicht von großer Bedeutung.


<form name="blubb">
  <input type="text" name="blubber">
</form>
alert (document.blubb[0].name);

type

Firefox Opera Safari Google Chrome Internet Explorer

Mit dieser Eigenschaft kann man den Typ eines Formularelementes auslesen und sogar ändern. Letzteres aber nicht im Internet Explorer, der will das nicht.


<form name="blubb">
  <input type="text" name="blubber">
</form>
document.blubb.blubber.type 'radio';

value, defaultValue

Firefox Opera Safari Google Chrome Internet Explorer

Hier geht es um den Wert (value), den ein Formularelement haben kann. Dabei gibt es wieder die drei Möglichkeiten auslesen, setzen und ändern. Was defaultValue angeht, das funktioniert genau so wie defaultChecked.


<form name="blubb">
  <input type="text" name="blubber" value="laber">
</form>
document.blubb.blubber.value 'jodelblah';

3. Die Methoden

blur

Firefox Opera Safari Google Chrome Internet Explorer

Damit kann man den Fokus/Cursor auf einem Element entfernen. Allerdings fällt mir im Moment kein vernünftiges Beispiel dazu sein. Wirkt ziemlich sinnfrei.

click

Firefox Opera Safari Google Chrome Internet Explorer

Hiermit besteht die Möglichkeit, ein Klick auf bestimmte Formularelemente zu simulieren. Allerdings kann man damit nur weitere JavaScript-Aktionen auslösen. Das Abschicken eines Formulars durch den simulierten Klick auf den submit-Button zum Beispiel funktioniert nicht. Diese Methode kann man aber nur bei allen Arten von Formular-Buttons und Checkboxen verwenden. Bei Letzteren wird das Element markiert.


<form name="test" action="">
  <input type="checkbox" name="blubb">
</form>
window.setTimeout ("document.test.blubb.click()"3000);

focus

Firefox Opera Safari Google Chrome Internet Explorer

Das kennt ihr wahrscheinlich schon von Google her. Sobald man auf der Hauptseite ist, befindet sich der Cursor bereits im Suchfeld und man kann direkt lostippern. Und so was geschieht mit focus. Dies ist auf praktisch alle Formularelemente anwendbar.


form name="test" action="">
  <input type="text" size="6" name="blubb">
</form>
window.setTimeout ("document.test.blubb.focus()"3000);

select

Firefox Opera Safari Google Chrome Internet Explorer

Diese Methode kann man nur auf alle Arten von Textfeldern anwenden. Denn damit markiert man den kompletten Textinhalt eines Feldes.


form name="test" action="">
  <input type="text" size="20" name="blubb" value="bla schwall">
</form>
document.test.blubb.select ();

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt