function getInputElements() {
var inputs = document.getElementsByTagName("input");
}
Run Code Online (Sandbox Code Playgroud)
上面的代码获取了input
具有多个表单的页面上的所有元素.如何input
使用纯JavaScript 获取特定表单的元素?
Tim*_*own 111
document.getElementById("someFormId").elements;
Run Code Online (Sandbox Code Playgroud)
此集合还将包含<select>
元素,但您可能需要它.
Edu*_*imo 23
如果您想要这些值,可以使用FormData :
var form = document.getElementById('form-name');
var data = new FormData(form);
for (var [key, value] of data) {
console.log(key, value)
}
Run Code Online (Sandbox Code Playgroud)
esv*_*sen 20
document.forms["form_name"].getElementsByTagName("input");
Run Code Online (Sandbox Code Playgroud)
小智 17
你们都在专注于问题中的"获取"这个词.尝试任何形式的'elements'属性,这是你可以迭代的集合,即你编写自己的'get'函数.
例:
function getFormElelemets(formName){
var elements = document.forms[formName].elements;
for (i=0; i<elements.length; i++){
some code...
}
}
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
var inputs = document.getElementById("formId").getElementsByTagName("input");
var inputs = document.forms[1].getElementsByTagName("input");
Run Code Online (Sandbox Code Playgroud)
2020 年更新:
var inputs = document.querySelectorAll("#formId input");
Run Code Online (Sandbox Code Playgroud)
也可以使用这个:
var user_name = document.forms[0].elements[0];
var user_email = document.forms[0].elements[1];
var user_message = document.forms[0].elements[2];
Run Code Online (Sandbox Code Playgroud)
表单的所有元素都通过Javascript存储在数组中.这将从第一个表单中获取元素,并将每个值存储到唯一变量中.
松散相关,但如果您想获取对象中的所有表单项,您可以:
Object.fromEntries(new FormData(document.querySelector('form')).entries())
Run Code Online (Sandbox Code Playgroud)
哪个产量
{
email: "thao@le.com",
password: "mypassword"
}
Run Code Online (Sandbox Code Playgroud)
简单的表格代码
<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="johndoe@test.com"/>
<textarea name="message">Enter Your Message Her</textarea>
</form>
Run Code Online (Sandbox Code Playgroud)
Javascript代码
//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);
}
Run Code Online (Sandbox Code Playgroud)
JSFIDDLE:http://jsfiddle.net/rng0hpss/
用这个
var theForm = document.forms['formname']
[].slice.call(theForm).forEach(function (el, i) {
console.log(el.value);
});
Run Code Online (Sandbox Code Playgroud)
el 代表特定的表单元素。使用它比 foreach 循环更好,因为 foreach 循环还返回一个函数作为元素之一。然而,这只返回表单的 DOM 元素。
小智 5
试试这个以获取所有表单字段。
var fields = document['formName'].elements;
Run Code Online (Sandbox Code Playgroud)
const getAllFormElements = element => Array.from(element.elements).filter(tag => ["select", "textarea", "input"].includes(tag.tagName.toLowerCase()));
Run Code Online (Sandbox Code Playgroud)
const pageFormElements = getAllFormElements(document.body);
console.log(pageFormElements);
Run Code Online (Sandbox Code Playgroud)
const pageFormElements = getAllFormElements(document.getElementById("my-form"));
console.log(formElements);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
131056 次 |
最近记录: |