复杂表单数据的获取

  表单基本样式如下:

表单的院士基本情况可以不断新增.

院士基本情况的部分HTML代码(多份院士基本情况是在这个基础之上append的) :

<div style="text-align: left" class="add_academician_elem">
                <div class="" style="width: 100%;font-size: 22px;text-align: center;">
                    当前是第<span class="number_academician">1</span>份院士基本情况
                    <button class="delete_academician layui-btn layui-btn-danger layui-btn-sm" type="button">
                        删除当前院士基本情况
                    </button>
                </div>
                <div>
                    <span >院士姓名</span><input name="ac-name" type="text"  lay-verify="required">
                    <span >出生日期</span><input name="ac-birthday" type="number" class="zp-input lay-Date" lay-verify="required">
                </div>
                <div>
                    <span >学科领域</span><input name="ac-tech_area" type="text"  lay-verify="required">
                    <span >邮箱地址</span><input name="ac-email" type="text"  lay-verify="required">
                </div>
                <div>
                    <span >院士联系电话</span><input name="ac-phone" type="number"  lay-verify="required">
                    <span >传真</span><input name="ac-fax" type="text"  lay-verify="required">
                </div>
                <div>
                    <span >工作单位</span><input name="ac-firm_name" type="text"  lay-verify="required">
                    <span >是否是驻湘院士</span>
                    <select name="ac-enter" class="c4" lay-ignore="" lay-verify="required">
                        <option value=""></option>
                        <option value="是">是</option>
                        <option value="否">否</option>
                    </select>
                </div>
                <div>
                    <span  style="">是中国工程院还是中国科学院院士</span>
                    <select name="ac-come_from"  lay-ignore="" lay-verify="required">
                        <option value=""></option>
                        <option value="中国工程院">中国工程院</option>
                        <option value="中国科学院院士">中国科学院院士</option>
                    </select>
                </div>

                <div>
                    <h3 class="" style="width: 100%;font-size: 16px;text-align: left;padding-left: 30px;margin-top: 10px;">
                        院士与企业合作项目情况
                    </h3>
                    <div>
                        <span >项目名称</span>
                        <input name="ac_aoo-project_name" type="text"  lay-verify="required">
                    </div>
                    <div>
                        <span >项目合作起止时间</span>
                        <input name="ac_aoo-start" type="number" class="lay-Date zp-input" style="width: 95px;" placeholder="开始时间" lay-verify="required" lay-key="3">
                        <input name="ac_aoo-end" type="number" class="lay-Date zp-input" style="width: 95px;" placeholder="结束时间" lay-verify="required" lay-key="4">
                        <span >销售收入(万元)</span>
                        <input name="ac_aoo-sale_revenue" id="sale_revenue" type="number"  lay-verify="required">
                    </div>
                    <div>
                        <span >利税(万元)</span>
                        <input name="ac_aoo-loan" id="loan" type="number"  lay-verify="required">
                        <span >新增就业</span>
                        <input name="ac_aoo-new_employment" type="text"  lay-verify="required">
                    </div>
                </div>
                <div>
                    <h3 class="" style="width: 100%;font-size: 16px;text-align: left;padding-left: 30px;margin-top: 10px;">
                        申报专利或品种审定
                    </h3>
                    <textarea name="ac_aoo-patent_or_variety" cols="30" rows="10" placeholder="" lay-verify="required"></textarea>
                </div>
                <div>
                    <h3 class="" style="width: 100%;font-size: 16px;text-align: left;padding-left: 30px;margin-top: 10px;">
                        经费投入情况
                    </h3>
                    <textarea name="ac_aoo-invest_fund" cols="30" rows="10" placeholder="" lay-verify="required"></textarea>
                </div>
                <div style="margin-bottom: 30px;">
                    <h3 class="" style="width: 100%;font-size: 16px;text-align: left;padding-left: 30px;margin-top: 10px;">
                        研究重点和经济、社会效益分析
                    </h3>
                    <textarea name="ac_aoo-benefit_analysis" cols="30" rows="10" placeholder="" lay-verify="required"></textarea>
                </div>

            </div>

HTML结构:

 需要发送给后端的数据格式如下:

院士基本情况中的"院士与企业合作项目情况"为academicianCooperationProject

部分js:

     /**
         *  获取多条院士基本情况
         */
        let academicianArr1 = [];
        let academicianArr2 = [];
        let academician_elem = $(‘.add_academician_elem‘);
        for (let i = 0; i < academician_elem.length; i++) {
            let inputElem = academician_elem.eq(i).find(‘input‘);
            let textareaElem = academician_elem.eq(i).find(‘textarea‘);
            let selectElem = academician_elem.eq(i).find(‘select‘);

            let tempObj1 = {};
            let tempObj2 = {};

            function getElemData(elem) {
                for (let i = 0; i < elem.length; i++) {
                    if (!elem.eq(i).attr(‘name‘).indexOf(‘ac-‘)) {
                        tempObj1[elem.eq(i).attr(‘name‘).slice(3)] = elem.eq(i).val();
                    } else {
                        tempObj2[elem.eq(i).attr(‘name‘).slice(7)] = elem.eq(i).val();
                    }
                }
            }

            getElemData(inputElem);
            getElemData(textareaElem);
            getElemData(selectElem);

            academicianArr1.push(tempObj1);
            academicianArr2.push(tempObj2);

        allData.academicianList = academicianArr1;
        allData.academicianCooperationProjectList = academicianArr2;

        }

主要是我前面两篇博客的结合运用.

原文地址:https://www.cnblogs.com/zp106/p/11525282.html

时间: 2024-10-14 05:37:54

复杂表单数据的获取的相关文章

Spring Mvc 前台数据的获取、SpringMvc 表单数据的获取

首先在web.xml 里面配置一个编码过滤器 1 <!-- springmvc框架本身没有处理请求编码,我们自己配置一个请求编码过滤器 --> 2 <filter> 3 <filter-name>encodingFilter</filter-name> 4 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 5 <

JavaWeb表单数据的获取方式

表单页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request

strus2中获取表单数据 两种方式 属性驱动 和模型驱动

strus2中获取表单数据 两种方式 属性驱动 和模型驱动 属性驱动 /** * 当前请求的action在栈顶,ss是栈顶的元素,所以可以利用setValue方法赋值* 如果一个属性在对象栈,在页面上可以根据name属性进行回显*/ /** * 属性驱动实现的条件:* 1.当前请求的action在栈顶,所以action中的属性就暴漏出来了* 2.获取页面上表单的元素,整合成一个map * 3.调用setValue方法赋值*/ 1 package cn.itcast.struts2.sh; 2 3

Js:消息弹出框、获取时间区间、时间格式、easyui datebox 自定义校验、表单数据转化json、控制两个日期不能只填一个

(function ($) { $.messageBox = function (message) { $.messager.show({ title:'消息框提示', msg:message, showType:'show' }); }; /** * 获取时间区间 * @param type 1:当年的一月一日到现在:type 2:获取当月的第一天和最后一天 * return {startTime:xxxx,endTime:xxxx} */ $.getTimeInterval = functi

Struts2中Action取得表单数据的几种方法

Struts2中Action取得表单数据的几种方法 Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form action="sys/login.action" method="post"> <input type="text" name="username"> <input type="submit"

multipart/form-data post 方法提交表单,后台获取不到数据

这个和servlet容器有关系,比如tomcat等. 1.get方式 get方式提交的话,表单项都保存在http header中,格式是 http://localhost:8080/hello.do?name1=value1&name2=value2这样的字符串.server端通过request.getParameter是可以取到值的. 2.post方式(enctype为缺省的application/x-www-form-urlencoded) 表单数据都保存在http的正文部分,格式类似于下面

jsp提交表单数据乱码,内置对象,以及过滤器

jsp提交表单数据乱码解决方案 通过form表单给服务器提交数据的时候,如果提交的是中文数据,那么可能会出现乱码,如果表单的请求方式是post请求,那么可以使用如下方案解决乱码: 在调用getParameter()之前,设置请求对象request的编码方式. <% request.setCharacterEncoding("utf-8");%> 002.如果是通过get方式提交的form,两种处理乱码方案: 01.通过new String(str.getBytes(“iso

将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对&lt;name&amp;value&gt;格式和JSON格式。

http://zhengxinlong.iteye.com/blog/848712 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式. /// <reference name="jquery.js" description="1.3.2版本以上" /> /*!* 扩展jQuery表单序列化函数:{ Version: 1.2, Author: Eric

php表单提交时获取不到post数据的解决方法

原文:http://blog.csdn.net/whd526/article/details/53263181 博主运行PHP环境:windows+phpstorm+xampp 初学php,用echo $_POST["variable"]和var_dump($_POST) 都获取不到post数据. 解决方法如下: 1.找到php.ini 配置文件,查找enable_post_data_reading变量,确保其打开状态: 2.观察你的运行php的浏览器地址,会发现在PhpStorm中打