如何在JavaScript中使用document.forms?


在本教程中,我们将讨论如何在JavaScript中使用document.forms。

document.forms属性返回文档中的所有表单标签。forms属性是只读的。form属性是DOM级别1的功能。

使用表单属性和元素

这里我们将学习如何使用表单的属性和元素。

用户可以按照以下语法使用表单的属性和元素。

语法

var forms = document.forms;
let formLen = forms.length;
let formId = forms[0].id || forms.item(0).id;
let formItemId = forms[0].elements[0].id;
let formItemVal = forms[0].elements[0].value;
let formData = forms.namedItem("testForm").innerHTML;

上述语法按顺序返回表单集合、表单总数、表单ID、表单元素ID、表单元素值和表单内容。

属性

  • length − length是HTML集合中元素的数量。

方法

  • [index] − index方法返回指定位置的元素。索引从零开始。如果索引超出范围,则该方法返回“null”。

  • item(index) − 返回指定位置的元素。索引从零开始。如果索引超出范围,则该方法返回“null”。

  • namedItem(id) − 返回具有特定id的元素。如果id错误,则该方法返回“null”。

返回值

forms属性返回HTML表单对象集合。该对象遵循源代码顺序。

示例

在这个程序中,我们显示文档中表单的总数、表单ID、表单元素ID、表单元素值和表单内容。

<html> <body> <h2>Working with the document object.forms properties and elements</h2> <div id = "formPropBtnWrap"> <form name = "testForm" id="testFormId"> <p>Name: <input type = "text" name = "name" value = "Egan" id = "testFormItemId"></p> <p>Job: <input type = "text" name = "job" value = "Handicapper"></p> </form> <p>Click the button to see the properties</p> <button onclick = "getFormProp()">Click Me</button> </div> <p id = "formPropOut"></p> <script> function getFormProp() { var forms = document.forms; let formLen = forms.length; let formId = forms[0].id || forms.item(0).id; let formItemId = forms[0].elements[0].id; let formItemVal = forms[0].elements[0].value; let formData = forms.namedItem("testForm").innerHTML; var formPropBtnWrap = document.getElementById("formPropBtnWrap"); var formPropOut = document.getElementById("formPropOut"); var formPropStr = ""; // formPropBtnWrap.style.display = "none"; formPropStr += "Total forms = " + formLen + "<br><br>"; formPropStr += "First form id = " + formId + "<br><br>"; formPropStr += "First form first item id = " + formItemId + "<br><br>"; formPropStr += "First form first item value = " + formItemVal + "<br><br>"; formPropStr += "<b>First form data = </b>" + formData + "<br><br>"; formPropOut.innerHTML = formPropStr; } </script> </body> </html>

使用表单方法

这里我们将学习如何使用表单的方法。

用户可以按照以下语法使用表单的方法。

语法

var forms = document.forms;
let formObj = forms.colors;
formObj.submit();
formObj.reset();

上述语法返回表单集合,一个名为“colors”的表单。最后两行代码分别表示表单提交和表单重置。

示例

在这个程序中,我们通过名称访问表单,该函数根据用户的请求执行表单提交和表单重置。

<html> <head> <title>JavaScript String match() Method</title> </head> <body> <script> // all the variables declared at top var str, re, found; str = "For more information, see Chapter 3.4.5.1"; re = /(chapter \d+(\.\d)*)/i; found = str.match( re ); document.write(found ); </script> </body> </html>

示例2

我们在下面的示例中获取了用户值,并在页面上分别显示它们。我们在顶部声明了两个变量,中间一个,最后还有一个。您可以在程序中看到,在顶部声明的变量使代码更简洁易读。同时,在中间声明变量会使代码更复杂。在下面的代码中,由于错误,我们初始化了另一个名为k的变量而不是j,使得j成为未初始化的变量。由于没有在顶部添加变量,我们忘记了代码中留下了一个不必要的变量'l'。

<html> <head> <style> p { color: red; } </style> </head> <body> <h2>Is it a good practice to place all declarations at the top in JavaScript?</h2> <label for = "top_var"> Variable declared at top:</label> <input type = "text" id = "top_var" name = "Top" value = " " /><br> <label for = "middle_var"> Variable declared at Middle:</label> <input type = "text" id = "middle_var" name = "Middle" value = " " /><br> <label for = "end_var"> Variable declared at End:</label> <input type = "text" id = "end_var" name = "End" value = " " /><br> <button id = "btn">submit</button> <div id = "div"></div> <script> var element, i; document.getElementById("btn").addEventListener("click", practice); function practice() { element = document.getElementById("div"); i = document.getElementById("top_var").value; var text = document.createTextNode(" Variable declared at top: " + i); var para1 = document.createElement('p'); para1.appendChild(text); var j; k = document.getElementById("middle_var").value; var text1 = document.createTextNode(" Variable declared at middle: " + j); var para2 = document.createElement('p'); para2.appendChild(text1); var k; k = document.getElementById("end_var").value; var text2 = document.createTextNode(" Variable declared at last: " + k); var para3 = document.createElement('p'); para3.appendChild(text2); element.appendChild(para1); element.appendChild(para2); element.appendChild(para3); var l; } </script> </body> </html>

在上面的示例中,用户可以看到,将所有声明放在JavaScript顶部是一个好习惯。

示例3

在下面的示例中,我们从用户那里获取输入并将其转换为数组,并且数组的所有元素都保存在不同的变量中。您可以在下面的程序中看到,程序中使用的所有变量都在script标签后的第一行声明。这有助于减少代码长度以及我们为每个变量添加'var'的工作量。我们在顶部添加了一堆变量,并使用循环内的eval()方法将其作为动态变量访问。

<html> <head> <style> p { color: red; } </style> </head> <body> <h2>Is it a good practice to place all declarations at the top in JavaScript?</h2> <label for = "arr_Elements"> Add array elements seperated by space: </label> <input type = "text" id = "arr_Elements" name = "element" value = " " placeholder = "5 elements max" /> <br> <button id = "btn">submit</button> <div id = "div"></div> <script> var element, value, arr, i, j, a, a1, a2, a3, a4, a5, para; document.getElementById("btn").addEventListener("click", add_Elements); element = document.getElementById("div"); function add_Elements() { value = document.getElementById("arr_Elements").value; arr = value.split(" "); for (i=1; i<=arr.length; i++) { if (arr[i - 1] != "") { eval('a' + i + "=" + arr[i - 1] + ";"); para = document.createElement('p'); console.log(a1); para.innerHTML = " Value of " + 'a' + (i - 1) + ": " + eval('a' + i); element.appendChild(para); } else { } } } </script> </body> </html>

在上面的示例中,用户可以看到,将所有声明放在程序顶部可以提高可读性并节省程序员的工作量。这就是为什么将所有声明放在JavaScript顶部是一个好习惯的原因。

在本教程中,我们学习了在JavaScript中放置所有声明的良好实践。将声明放在顶部始终是JavaScript中的良好实践。

更新于:2022年10月31日

3K+ 浏览量

启动你的职业生涯

通过完成课程获得认证

开始学习
广告