解决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 相关文章推荐
3
Oct 09 PHP
php中ob_get_length缓冲与获取缓冲长度实例
Nov 20 PHP
PHP实现懒加载的方法
Mar 07 PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 PHP
PHP计算加权平均数的方法
Jul 16 PHP
学习php设计模式 php实现命令模式(command)
Dec 08 PHP
PHP中phar包的使用教程
Jun 14 PHP
PHP删除字符串中非字母数字字符方法总结
Jan 20 PHP
PHP+mysql防止SQL注入的方法小结
Apr 27 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
Aug 03 PHP
php和nginx交互实例讲解
Sep 24 PHP
如何在Laravel之外使用illuminate组件详解
Sep 20 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
Banner程序
2006/10/09 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
JavaScript CSS修改学习第五章 给“上传”添加样式
2010/02/19 Javascript
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
PM2自动部署代码步骤流程总结
2018/12/10 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
[39:32]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第二场
2014/05/23 DOTA
Python模块的加载讲解
2019/01/15 Python
Python静态类型检查新工具之pyright 使用指南
2019/04/26 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
信息技术专业个人自我评价
2013/12/11 职场文书
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
我的梦中国梦演讲稿
2014/04/23 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
上班迟到检讨书
2014/09/15 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
毕业感言怎么写
2015/07/31 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
投资入股协议书
2016/03/22 职场文书
HTML常用标签超详细整理
2022/03/19 HTML / CSS
React自定义hook的方法
2022/06/25 Javascript