Der obige Code ruft alle input
Elemente auf einer Seite, die mehr als ein Formular hat. Wie bekomme ich die input
Elemente eines bestimmten Formulars mithilfe von JavaScript?erhalten Sie alle Elemente eines bestimmten Formulars
Antwort
document.forms["form_name"].getElementsByTagName("input");
var inputs = document.getElementById("formId").getElementsByTagName("input");
var inputs = document.forms[1].getElementsByTagName("input");
Wie würden Sie zwischen den Formen unterscheiden mögen? Sie können verschiedene IDs verwenden, und dann diese Funktion nutzen:
function getInputElements(formId) {
var form = document.getElementById(formId);
if (form === null) {
return null;
}
return form.getElementsByTagName('input');
}
document.getElementById("someFormId").elements;
Diese Sammlung <select>
Elemente auch enthalten, aber Sie wollen wahrscheinlich, dass.
Es scheint, dass document.getElementById ("someFormId") auch funktioniert. Gibt es einen besonderen Grund für das Hinzufügen von Elementen am Ende? – Andrew
@Andrew: Meine Absicht war, dass "someFormId" die ID eines '' -Elements ist, keine Eingabe. 'elements' ist eine Eigenschaft eines Formularelements; Es ist eine Sammlung von Elementen innerhalb des Formulars. Siehe https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.elements –
> ok, ich verstehe was .elements ist. Soll ich es also benutzen, wenn es auch ohne es geht? Vielleicht fügt das Hinzufügen von .elements weniger Knoten hinzu und Sie erhalten dadurch eine bessere Leistung? – Andrew
Es ist auch möglich, diese zu verwenden:
var user_name = document.forms[0].elements[0];
var user_email = document.forms[0].elements[1];
var user_message = document.forms[0].elements[2];
Alle Elemente der Formen werden in einem Array von Javascript gespeichert. Dies nimmt die Elemente aus der ersten Form und speichert jeden Wert in einer eindeutigen Variable.
Sie alle konzentrieren sich auf das Wort "Get" in der Frage. Probieren Sie die Eigenschaft 'elements' einer beliebigen Form aus, die eine Sammlung ist, durch die Sie iterieren können, d. H. Sie schreiben Ihre eigene 'get'-Funktion.
Beispiel:
function getFormElelemets(formName){
var elements = document.forms[formName].elements;
for (i=0; i<elements.length; i++){
some code...
}
}
Hoffnung, das hilft.
einfache Form Code
<form id="myForm" name="myForm">
<input type="text" name="User" value="Arsalan"/>
<input type="password" name="pass" value="123"/>
<input type="number" name="age" value="24"/>
<input type="text" name="email" value="[email protected]"/>
<textarea name="message">Enter Your Message Her</textarea>
</form>
Javascript-Code
//Assign Form by Id to a Variabe
var myForm = document.getElementById("myForm");
//Extract Each Element Value
for (var i = 0; i < myForm.elements.length; i++) {
console.log(myForm.elements[i].value);
}
JSFIDDLE: http://jsfiddle.net/rng0hpss/
verwenden
var theForm = document.forms['formname']
[].slice.call(theForm).forEach(function (el, i) {
console.log(el.value);
});
Der el für die jeweilige steht Formularelement. Es ist besser, dies als die foreach-Schleife zu verwenden, da die foreach-Schleife auch eine Funktion als eine der Elemente zurückgibt. Dies gibt jedoch nur die DOM-Elemente des Formulars zurück.
Wenn Sie einen Verweis auf ein Feld im Formular oder ein Ereignis haben, müssen Sie das Formular nicht explizit nachschlagen, da jedes Formularfeld ein form
-Attribut aufweist, das auf das übergeordnete Formular verweist.
Wenn Sie ein Ereignis haben, enthält es ein target
Attribut, das auf das Formularfeld zeigt, das es ausgelöst hat, was bedeutet, dass Sie über myEvent.target.form
auf das Formular zugreifen können.
Hier ist ein Beispiel ohne Formular-Lookup-Code.
<html>
<body>
<form name="frm">
<input type="text" name="login"><br/>
<input type="password" name="password"><br/>
<button type="submit" onclick="doLogin()">Login</button>
</form>
<script>
function doLogin(e) {
e = e || window.event;
e.preventDefault();
var form = e.target.form;
alert("user:" + form.login.value + " password:" + form.password.value);
}
</script>
</body>
</html>
Wenn Sie mehrere Formulare auf der Seite haben Sie noch brauchen sie nicht nach Namen oder ID zu kennzeichnen, weil Sie immer die richtige Form Instanz über den Fall erhalten werden oder über einen Verweis auf eine Feld.
- 1. Tragen Sie eine CSS auf alle Elemente eines bestimmten div
- 2. Wie man alle Elemente eines Formulars durchläuft jQuery
- 3. Alle Kontrollkästchen eines Formulars auswählen
- 4. Erhalten Sie alle ListView-Elemente (Zeilen)
- 5. Multidimensionales Array: Wie erhalten Sie alle Werte eines bestimmten Schlüssels?
- 6. Erhalten Sie alle Google Knowledge Graph Instanzen eines bestimmten Typs
- 7. Erhalten eines Formulars Get-Parameter
- 8. Erhalten Sie alle Wikidata-Elemente, die eine Instanz eines bestimmten Elements sind
- 9. erhalten Namen und Werte eines Formulars nach
- 10. Wie erhalten Sie alle Elemente der Elternklasse?
- 11. alle Elemente eines bestimmten Wert aus einer hashmap Entfernen
- 12. Wie wähle ich alle Elemente eines bestimmten Klassennamens aus?
- 13. Finden Sie alle Methoden eines bestimmten Typs
- 14. Erhalten Sie Bildschirmkoordinaten eines bestimmten UITableViewCell?
- 15. C# Winforms Erhalten Sie das gestreckte Hintergrundbild eines Formulars
- 16. Alle Elemente von einem ArrayAdapter erhalten
- 17. Aktion des übermittelten Formulars erhalten
- 18. Erhalten Sie alle Tabellennamen einer bestimmten Datenbank per SQL-Abfrage?
- 19. Erhalten Sie alle Gruppen eines Facebook-Benutzers
- 20. Wie erhalten Sie alle Daten und Namen von Tagen eines bestimmten Monats eines Jahres in PHP?
- 21. Javascript: Erhalten Sie alle Elemente mit ID [x]
- 22. Erhalten Sie alle Elemente durch den Klassenname und ändern Class
- 23. Wie alle Array-Elemente außer bestimmten entfernen?
- 24. So wählen Sie alle Elemente nach bestimmten Element in CSS
- 25. Wählen Sie alle Elemente in TD mit bestimmten ID
- 26. Wie erhalten Sie alle Elemente mit einer bestimmten Eigenschaft in Pivot-Tabelle mit eloquent?
- 27. Durchsuchen Sie alle Sortierschlüssel eines bestimmten Hash in DynamoDB
- 28. Finding alle Elemente eines String-Vektor, der
- 29. Alle Elemente außerhalb eines Containers entfernen?
- 30. Selen erhalten alle Elemente in einer Form
Solange keine Auswahl oder Textfelder vorhanden sind ;-) – Gurnard
Können Sie es in einer Anwendung mit mehreren Eingaben mit Werten zeigen, die es erfasst? –
Ich ziehe 'document.forms [ "formular_name"]. GetElementByClassName ("myClass")' –