php+js处理大量input输入框与表单提交获取问题

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

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

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

 表单组成部分

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

 

 

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

当表单的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的方式将获取的传参处理成数组再插入数据库会比较方便。

时间: 2024-09-10 05:42:58

php+js处理大量input输入框与表单提交获取问题的相关文章

js光标定位文本框回车表单提交问题的解决方法

  本文实例讲述了js光标定位文本框回车表单提交问题的解决方法.分享给大家供大家参考.具体分析如下: 当光标定位在辅助查找的文本框后回车,页面会出现方法的返回的json串. 原因:When there is only one single-line text input field in a form, the user agent should accept Enter in that field as a request to submit the form. 翻译一下:当form中只有一个

js光标定位文本框回车表单提交问题的解决方法_javascript技巧

本文实例讲述了js光标定位文本框回车表单提交问题的解决方法.分享给大家供大家参考.具体分析如下: 当光标定位在辅助查找的文本框后回车,页面会出现方法的返回的json串. 原因:When there is only one single-line text input field in a form, the user agent should accept Enter in that field as a request to submit the form. 翻译一下:当form中只有一个in

js 判断文件类型并控制表单提交示例代码_javascript技巧

下面的代码 实现的控制表单提交 复制代码 代码如下: function shangchuan(){ var filepath = document.getElementById("file").value; alert(filepath); if(filepath==""){ alert("请选择上传的文件!"); document.getElementById("file").disabled=true; } var ext

JS+CSS模拟IP输入框_表单特效

IP地址: . . .

制作符合用户体验的漂亮的input输入框_表单特效

姓名: 请输入您的姓名 Email: 请输入您的Email 网站: 请输入您的网站

Web表单提交之disabled问题js解决方法_javascript技巧

本文实例讲述了Web表单提交之disabled问题js解决方法.分享给大家供大家参考.具体分析如下: 例如,有如下表单 复制代码 代码如下: <form id="inputForm" action="shorttermrental.action" method="post">      <input name="pname" type="text" id="pname"

原生JS实现表单checkbook获取已选择的值

本文为大家介绍下采用原生JS实现从一个表单checkbox获取到已选中的数据值,具体的实现如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助   从一个表单checkbox获取到已选中的数据值: 复制代码 代码如下: <input type="checkbox" name="cb" value="1" />aa <input type="checkbox" name="cb" value=

账号验证不通过怎么阻止表单提交js+php

问题描述 账号验证不通过怎么阻止表单提交js+php 提示: 下一步 解决方案 return false ; 解决方案二: 描述太简单吧 前台阻止:form 直接不写button和submit按钮(以前就碰到过,submit和button按钮无法用js阻止提交),form标签外写一个,用jquery form插件提交 后台:检查不通过直接exit 相关文章 php-用PHP做后台登陆界面时候所遇到的问题 ajax验证用户名是否存在,失败后组阻止表单提交 弹出框-js,jquery,表单验证 js

原生JS实现表单checkbook获取已选择的值_javascript技巧

从一个表单checkbox获取到已选中的数据值: 复制代码 代码如下: <input type="checkbox" name="cb" value="1" />aa <input type="checkbox" name="cb" value="2" />bb <input type="checkbox" name="cb&q