如何在 JavaScript 中使用 document.forms?
在本教程中,我們將討論如何在 JavaScript 中使用 document.forms。
document.form 屬性返回文件中的所有表單標籤。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”。
返回值
form 屬性返回 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 中的良好實踐。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP