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 相关文章推荐
中文路径导致unitpngfix.js不正常的解决方法
Jun 26 Javascript
jQuery Animation实现CSS3动画示例介绍
Aug 14 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
Aug 28 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
Dec 06 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
Aug 25 Javascript
解决vue 绑定对象内点击事件失效问题
Sep 05 Javascript
基于vue实现移动端圆形旋钮插件效果
Nov 28 Javascript
JS实现checkbox互斥(单选)功能示例
May 04 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
Jul 19 Javascript
layui自定义工具栏的方法
Sep 19 Javascript
Vue实现PC端靠边悬浮球的代码
May 09 Javascript
JS实现京东商品分类侧边栏
Dec 11 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
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
js 函数的副作用分析
2011/08/23 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
深入理解node.js之path模块
2017/05/03 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
Python实现保证只能运行一个脚本实例
2015/06/24 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python用post访问restful服务接口的方法
2018/12/07 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
详解Python模块化编程与装饰器
2021/01/16 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
Html5 APP中监听返回事件处理的方法示例
2018/03/15 HTML / CSS
创新型城市实施方案
2014/03/06 职场文书
2014年两会学习心得范例
2014/03/17 职场文书
《春天来了》教学反思
2014/04/07 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
地震捐款简报
2015/07/21 职场文书
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL
mysql的Buffer Pool存储及原理
2022/04/02 MySQL
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python