Ich möchte Fokus auf das erste Formularelement in einem div, entweder mit etwas, das Prototype gibt mir, oder einfach JavaScript. Ich habe einen Verweis auf ein div, das die Formularelemente enthält. Ich weiß nicht, ob das erste Formularelement ein <input>
, <select>
oder <textarea>
Knoten sein wird.Wie wählt man das erste untergeordnete Formularelement (mit Hilfe des Prototyps)?
Ich mag so etwas wie dies zu tun:
$('parentDiv').down('textarea, select, input').focus();
jedoch die Element.down Methode scheint den ersten TextArea- Knoten zu holen, obwohl es ein Eingangsknoten vor dem Text.
Gibt es einen eleganten Weg dazu? Ich nehme an, ich könnte alle Nachkommen des Eltern-Divs bekommen, und dann iterieren über jede Suche nach einem dieser Knoten, aber ich vermute, dass es eine coole Möglichkeit gibt, dies im Prototyp zu tun.
Ich kann die Methoden des Form-Objekts nicht verwenden, da dieses übergeordnete div nur Teil des Formulars ist. Es wird der Seite über einen AJAX-Aufruf hinzugefügt. Wenn das div zum DOM hinzugefügt wurde, möchte ich den Fokus auf das erste Feld in der neu hinzugefügten Menge legen (was höchstwahrscheinlich nicht das erste Feld im gesamten Formular ist). .
Danke!
Das Problem bei diesem Ansatz ist, ich will nicht gesetzt Fokus auf das erste Feld im Formular, aber das erste Feld in einem Div in der Form. Ich habe zu dieser Frage eine Klarstellung vorgenommen. – pkaeding