概述
要创建完全动态的 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 标签内的元素那样构建为静态的。该表格包含用于学生注册的某些字段。这些字段是姓名、电子邮件、地址、出生日期、电话号码,因此所有这些都是从脚本标记动态呈现的。
Create form dynamically with js *Student registration form
<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>
在下面给定的图像中,它显示了上面示例的输出,其中显示了学生注册表生成按钮。当未单击生成表单按钮时,它会显示一个简单的页面,如下所示。
当单击上面的“生成表单”按钮时,会触发脚本标记内创建的箭头功能,结果会显示一个动态生成的表单,其中包含学生注册的所有必填字段。
结论
通过完成此任务,我们可以在网页中创建任何动态元素。网页中的动态内容使页面加载速度更快,因为服务器不必在页面加载时一开始就响应整个庞大的代码。动态表单还使页面更具交互性。
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 如何使用 JavaScript 动态创建表单