jQuery解决input超多的表单提交


Posted in Javascript onAugust 10, 2015

近段时间接到一个比较奇葩的需求,对方要求在企业站中加入一个类似word的表单,并供用户在线填写与提交。

仔细看了一下,该表单的字段高达一百多个,这个量级是相当可怕的。如果每个input手动去填写id和name的话,该是一个多么可怕的体力活啊。

反复思考了一下,为避免苦逼的去逐个填写input的id与name,决定用JS配合PHP的方式来解决这个表单一连串的提交工作。

表单组成部分

表单首先按照客户的要求,将需要填写的表格与选项按照word文档的原型进行布局,使其符合用户体验,如下图:

jQuery解决input超多的表单提交

(上图只是截取表单的一小部分作为范例,实际上这个表单是无比之大的)

当表单的html布局完成之后,我们就需要开始对这些表单的input设定id与name用于表单提交了。

前言中已经说道到了input非常多,所以我们这里采用JS的方式来为input自动添加id与name。代码如下(jquery方式):

$(document).ready(function(){
var inputNum = 0;
$(‘input').each(function(){
$(this).attr({name:‘val'+inputNum,id:‘val'+inputNum});
inputNum++
})})

通过js处理后,该页面的所有input都会自动按照自增1的方式对id和name进行添加。至此,这个表单的基本上可以正常使用了。(frome咱就不解释了,程序员都懂的。)

表单GET部分

OK,上面已经可以正常的把表单提交到PHP程序中进行处理了。当然上面的办法也适用于任何一种web程序,比如说.net,jsp,asp等等…..

下一步我们就需要对提交过来的字符串进行拆解,以获取表单内的值。关于如何获取表单的传值,本文就不做解释了。

由于表单传过来的值也是N个,所以我们也不可能一个一个的去写数组变量来获取这些值,所以这里也需要用到一些办法来处理。

好,下面我们来说正事。首先我们按照之前的js程序逻辑来思考,如何让这些数组每个自增1来实现数组的输出。

程序代码如下:

<?php
$num = 0; //初始化计数变量
$_REQUEST[‘val'.$num]; $num++; //插入到需要获取值的地方,每个需要获取传值的地方重复使用这串代码即可
?>

这组代码主要用在表单input与request顺序一致的情况下使用,如果不能一一对应顺序的话,则会出现混乱。因此用的时候需要慎重!

提交数据库的时候可以考虑使用foreach的方式将获取的传参处理成数组再插入数据库会比较方便。

Javascript 相关文章推荐
JavaScript confirm选择判断
Oct 18 Javascript
起点页面传值js,有空研究学习下
Jan 25 Javascript
jquery ui dialog ie8出现滚动条的解决方法
Dec 06 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
Oct 08 Javascript
ionic2 tabs使用 Modal底部tab弹出框
Dec 30 Javascript
jquery编写日期选择器
Mar 16 Javascript
微信小程序商城项目之商品属性分类(4)
Apr 17 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
Apr 25 Javascript
微信小程序动态显示项目倒计时效果
Jun 13 Javascript
JavaScript实现简单的双色球(实例讲解)
Jul 31 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
Aug 23 Javascript
vue-better-scroll 的使用实例代码详解
Dec 03 Javascript
jQuery实现的图文高亮滚动切换特效实例
Aug 10 #Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
Aug 10 #Javascript
javascript中caller和callee详解
Aug 10 #Javascript
jQuery实现购物车表单自动结算效果实例
Aug 10 #Javascript
javascript中$(function() {});写与不写有哪些区别
Aug 10 #Javascript
jQuery中$(function() {});问题详解
Aug 10 #Javascript
jquery实现鼠标滑过后动态图片提示效果实例
Aug 10 #Javascript
You might like
长波知识介绍
2021/03/01 无线电
点评山进PR-D3L三波段收音机
2021/03/02 无线电
php一些公用函数的集合
2008/03/27 PHP
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
php使用curl访问https示例分享
2014/01/17 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
PHP错误机制知识汇总
2016/03/24 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
属于你的jQuery提示框(Tip)插件
2016/01/20 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
Python操作Mysql实例代码教程在线版(查询手册)
2013/02/18 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
Python字符串的常见操作实例小结
2019/04/08 Python
Python concurrent.futures模块使用实例
2019/12/24 Python
Python内置函数property()如何使用
2020/09/01 Python
如何利用python 读取配置文件
2021/01/06 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
法学研究生自我鉴定范文
2013/12/04 职场文书
十佳大学生村官事迹
2014/01/09 职场文书
一年级语文教学反思
2014/02/13 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
Oracle中update和select 关联操作
2022/01/18 Oracle
Python利用zhdate模块实现农历日期处理
2022/03/31 Python