美文网首页前端
JS实现表单延伸以及数据预存功能

JS实现表单延伸以及数据预存功能

作者: HueyYao | 来源:发表于2021-01-23 19:40 被阅读0次

JS实现表单延伸以及数据预存功能

需求:在后台添加分类是涉及到的二级分类添加时非常繁琐,可以通过js来实现一次上传多条分类信息的功能。

使用form表单提交 在input后添加增加按钮 获取input的信息 生成新的input标签

在生成新标签时会出现一个问题 按照正常写法 会重置表单 把当前写好的input内容重置掉,所以还需要添加表单预存功能 在添加前获取当前表单的数据 然后再添加后再重新写入表单。就完美实现了此功能

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无限延生input案例</title>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <form name="saveForm" id="saveForm" method="post" action="" onsubmit="return checkForm(this)">
      <tr>
        <th valign="top">分类名称 : </th>
        <td id="classNameList">
          <input type="text" name="name0" id="name0"  class="site-table-input" value=""/>
          &nbsp;<button id="addInputByName" style="background: #c30;color: white;padding: 1px 2px 1px 5px;border-radius: 4px;cursor: pointer;" onclick="addInput()">增加+</button>
          <input type="hidden" name="inputNum" id="inputNum" value="1">
        </td>
      </tr>

      <script type="text/javascript">
          var inputNum = 1;
          function addInput(){
            var vs = new Array(); //预存值对象
            //获取 xx DIV 中的所有 INPUT 标签元素
            var inputs = document.getElementById("classNameList").getElementsByTagName("input");
            //遍历存储其 value
            for (var i = 0; i < inputs.length; i++) {
              vs[i] = inputs[i].value;
            }
            console.log(vs);
            var form = document.getElementById("classNameList");
            var str = "<input type='text' name='name"+inputNum+"' id="+"name"+inputNum+""+" class='site-table-input'>";
            inputNum++;
            form.innerHTML += "<p>"+str +"</p>";

            //获取执行添加后的元素集合
            inputs = document.getElementById("classNameList").getElementsByTagName("input");
            //为其赋原先的值
            for (var i = 0; i < vs.length; i++) {
              inputs[i].value = vs[i];
            }
            document.getElementById('inputNum').value=inputNum;
          }
      </script>

    </table>
    </form>
</body>
</html>

相关文章

  • JS实现表单延伸以及数据预存功能

    JS实现表单延伸以及数据预存功能 需求:在后台添加分类是涉及到的二级分类添加时非常繁琐,可以通过js来实现一次上传...

  • 【35】Wordpres评论回复表单跟随

    wordpress的评论回复表单跟随功能是通过comment-reply.js这个js实现的。不引入该js,回复评...

  • 轮播-淡入淡出

    JS实现功能 CSS样式以及布局结构

  • (8)Django - 表单

    表单是搜集用户数据信息,实现网页数据交互的关键。Django的表单功能由Form类实现,主要分两种:django....

  • vue.js模板语法demo

    html & css js 注:v-model用在表单控件上的,用于实现双向数据绑定,所以如果你用在除了表单控件以...

  • 产品展现层元素分析(2)-表单

    表单,主要用于数据采集的功能。通过表单,用户可实现数据的增/删/改,这是展现层一个非常核心的部分。表单暴露给用户有...

  • 数据驱动以及vue功能原生js实现

    数据驱动通用思想: 把界面要变化的部分,抽取到动态数据中,通过数据变化,自动更新视图 1. 书写静态组件 reac...

  • 上传文件功能

    通过form表单与input来实现上传功能,type=file实现上传框,enctipart确认数据格式,meth...

  • js清除表单数据-通用

    js 清除表单数据 通用清除

  • form表单知识点

    form表单 form表单作用 简单来说用来通过web服务向server提供数据,实现调用搜索等任务,以及用户与w...

网友评论

    本文标题:JS实现表单延伸以及数据预存功能

    本文链接:https://www.haomeiwen.com/subject/hdrlzktx.html