要建立完全動態的HTML 表單,可以使用一些文件物件模型(DOM) 方法來創建,例如createElement()、setAttribute()、appendChild( )。這些 DOM 方法將幫助我們建立動態 HTML 表單。我們建立此動態表單的方法是在 script 標籤中建立所有元素,設定屬性以添加一些功能,最後當我們的元素準備好提供服務時,我們將其附加到元素的父元素中。因此,附加在父表單標記內的所有元素都是子元素。
此任務中使用的語法 -
createElement() 方法用於建立任何 HTML 元素。範例:div、按鈕、p、標籤等
document.createElement(elements);
setAttribute() 方法用於在元素中插入屬性。 setAttribute() 方法內的值會作為鍵值對傳遞。例如:(“佔位符”,“名稱”),(“類型”,“提交”),(“值”,“提交”)等。
element.setAttribute(“Key”,“Value”);
appendChild() 方法將我們使用 createElement() 建立的元素插入到任何 body 標記中。直接元素的元素引用作為參數傳遞給appendChild()。
parentElement.appendChild(element);
第 1 步 − 在編輯器上建立簡單的 HTML 樣板程式碼。還建立一個按鈕和一個表單標籤,我們的動態表單將在其中載入。
第 2 步驟 − 在腳本標記內建立一個 JavaScript 箭頭函數。
第 3 步 − 現在使用 document.getElementById() 取得變數中的表單,因為表單標籤由 ID 名稱定義。
第 4 步 − 從這裡開始建立您的動態表單。使用文件的 createElement() 方法建立一個新元素。
var userName = document.createElement("input");
第 5 步 − 現在使用 setAttribute() 方法在上面建立的元素中設定屬性。
userName.setAttribute("placeholder", "Name");
第 6 步 − 使用appendChild()方法將上面建立的元素附加到父元素「form」中,作為id名稱「dform」。
dform.appendChild(userName);
第 7 步驟 − 重複第 4 步驟至第 6 步驟的步驟,並建立表單的所有必填欄位。
第8 步驟 − 使用createElement()建立另一個元素div,同時建立兩個分別提交和重置的按鈕,並將這兩個按鈕附加到其中。
第 9 步−點擊「產生表單」按鈕,將觸發「gForm()」函數並動態產生表單。
在給定的範例中,我們使用 Javascript 建立了一個表單。因此,表單標籤內的所有元素都不像使用 body 標籤內的元素那樣建構為靜態的。此表格包含用於學生註冊的某些欄位。這些欄位是姓名、電子郵件、地址、出生日期、電話號碼,因此所有這些都是從腳本標記動態呈現的。
<script> gForm = () => { var dform = document.getElementById("dynamicForm"); dform.setAttribute("style", "display:flex;flex-direction:column") // dform.innerHTML="" var userName = document.createElement("input"); userName.setAttribute("placeholder", "Name"); dform.appendChild(userName); var userEmail = document.createElement("input"); userEmail.setAttribute("placeholder", "Email"); userEmail.setAttribute("type", "email"); dform.appendChild(userEmail); var userAdd = document.createElement("input"); userAdd.setAttribute("placeholder", "Address"); dform.appendChild(userAdd); var userDob = document.createElement("input"); userDob.setAttribute("placeholder", "D.O.B"); userDob.setAttribute("type", "date"); dform.appendChild(userDob); var userPhn = document.createElement("input"); userPhn.setAttribute("placeholder", "Phone number"); dform.appendChild(userPhn); var sBtn = document.createElement("input"); sBtn.setAttribute("value", "submit"); sBtn.setAttribute("type", "submit"); var rBtn = document.createElement("input"); rBtn.setAttribute("value", "reset"); rBtn.setAttribute("type", "reset"); var btns = document.createElement("div"); btns.setAttribute("style","margin:0.4rem auto") dform.appendChild(btns); btns.appendChild(sBtn); btns.appendChild(rBtn); } </script>Create form dynamically with js *Student registration form
在下面給定的圖像中,它顯示了上面範例的輸出,其中顯示了學生註冊表生成按鈕。當未單擊生成表單按鈕時,它會顯示一個簡單的頁面,如下所示。
當點擊上面的「產生表單」按鈕時,會觸發腳本標記內建立的箭頭功能,結果會顯示一個動態產生的表單,其中包含學生註冊的所有必填欄位。
透過完成此任務,我們可以在網頁中建立任何動態元素。網頁中的動態內容使頁面載入速度更快,因為伺服器不必在頁面載入時一開始就回應整個龐大的程式碼。動態表單也使頁面更具互動性。
以上是如何使用 JavaScript 動態建立表單的詳細內容。更多資訊請關注PHP中文網其他相關文章!