解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题


Posted in PHP onMay 11, 2017

一 问题

在公司的开发过程中,遇到了一个问题:如何处理 form 表单提交了多个 name 属性值相同的 input 标签?源码如下(源码是在 form 表单之中的):

<!--{loop $address $index $one}-->
<div class="address_item">
   <p>
    <label>
    <input type="hidden" name="express_price" value="{$one['express_price']}" />
    <input type="hidden" name="state_fare" value="{$one['state_fare']}" />
    <input type="hidden" name="id" value="{$one['id']}" />
    <input type="radio" <!--{if $one[ 'default']=='Y' }-->checked<!--{/if}-->name="address" value="{$one['id']}" /><span name="mobile">{$one['mobile']}</span>
    </label>
   </p>
</div>
<!--{/loop}-->

二 解决方法

在上述源码中,通过 loop 循环,在 form 表单中生成了多个name属性值相同的 input 元素,当点击提交时,后台的 php 文件使用 $_POST 仅能获取到一个 div 元素中的 input元素传过来的值,但是,radio 类型的 input 元素传过来的值一定是被选中的那一个。据此,修改上述源码中一些 input 元素的相同 name 属性值为数组,再在后台 php 文件通过被选中的 radio 类型的 input 元素的 name 属性值,确定所传过来的整个 div 元素。修改后的代码如下:

<!--{loop $address $index $one}-->
<div class="address_item">
   <p>
    <label>
    <input type="hidden" name="express_price[]" value="{$one['express_price']}" />
    <input type="hidden" name="state_fare[]" value="{$one['state_fare']}" />
    <input type="hidden" name="id[]" value="{$one['id']}" />
    <input type="radio" <!--{if $one[ 'default']=='Y' }-->checked<!--{/if}-->name="address" value="{$one['id']}" />
    <span name="mobile">{$one['mobile']}</span>
    </label>
   </p>
</div>
<!--{/loop}-->

php 文件:

$key = 0;
$address_id = intval($_POST["address"]);
foreach ($_POST['id'] as $k => $v) {
  if ($v == $address_id)
     $key = $k;
}
$_POST['express_money'] = $_POST['exporess_price'][$key];

以上所述是小编给大家介绍的解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
不要轻信 PHP_SELF的安全问题
Sep 05 PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 PHP
php5 apache 2.2 webservice 创建与配置(java)
Jan 27 PHP
php使用exec shell命令注入的方法讲解
Nov 12 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
Jul 22 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
Dec 18 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
PHP实现的一致性哈希算法完整实例
Nov 14 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 PHP
PHP会话操作之cookie用法分析
Sep 28 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 PHP
PHP 实现浏览记录并按日期分组
May 11 #PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 #PHP
使用WAMP搭建PHP本地开发环境
May 10 #PHP
thinkPHP5 tablib标签库自定义方法详解
May 10 #PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 #PHP
php7 安装yar 生成docker镜像
May 09 #PHP
php简单生成一组与多组随机字符串的方法
May 09 #PHP
You might like
php 数组二分法查找函数代码
2010/02/16 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
php实现下载限制速度示例分享
2014/02/13 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
2016/09/19 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
python使用str &amp; repr转换字符串
2016/10/13 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
python安装本地whl的实例步骤
2019/10/12 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
项目合作协议书范本
2014/04/16 职场文书
指导教师评语
2014/04/26 职场文书
专题组织生活会发言材料
2014/10/17 职场文书
复活读书笔记
2015/06/29 职场文书
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android
Golang 字符串的常见操作
2022/04/19 Golang
Python 统计序列中元素的出现频度
2022/04/26 Python
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python