如何使用 JavaScript 动态创建表单

概述

要创建完全动态的 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 标签内的元素那样构建为静态的。该表格包含用于学生注册的某些字段。这些字段是姓名、电子邮件、地址、出生日期、电话号码,因此所有这些都是从脚本标记动态呈现的。

<html>
<head>
   <title>Create form dynamically with js</title>
</head>
   <body style="height: 90vh; width: 50%;display:flex;flex-direction: column;place-content: center; margin: auto;">
   <p style="margin: 0 auto;">*Student registration form</p>
   <button style="margin: 0.5rem auto;width: 10rem;" onclick="gForm()"> Generate Form </button>
   <form id="dynamicForm"> </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>
</body>
</html>

在下面给定的图像中,它显示了上面示例的输出,其中显示了学生注册表生成按钮。当未单击生成表单按钮时,它会显示一个简单的页面,如下所示。

当单击上面的“生成表单”按钮时,会触发脚本标记内创建的箭头功能,结果会显示一个动态生成的表单,其中包含学生注册的所有必填字段。

结论

通过完成此任务,我们可以在网页中创建任何动态元素。网页中的动态内容使页面加载速度更快,因为服务器不必在页面加载时一开始就响应整个庞大的代码。动态表单还使页面更具交互性。

以上就是如何使用 JavaScript 动态创建表单的详细内容,更多请关注双恒网络其它相关文章!

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

云资源网 » 如何使用 JavaScript 动态创建表单

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们.。
你们有qq群吗怎么加入?
当然有的,如果你是帝国cms、易优cms、和pbootcms系统的爱好者你可以加入我们的QQ千人交流群https://www.sudo1.com/page-qun.html。
  • 会员数(个)
  • 12334资源数(个)
  •        
  • 资源(G)
  •        
  • 今日下载
  • 1405稳定运行(天)

提供最优质的资源集合

立即查看 了解详情