解决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 相关文章推荐
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
Apr 22 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
Jan 06 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 PHP
php输入流php://input使用浅析
Sep 02 PHP
thinkphp中memcache的用法实例
Nov 29 PHP
php多文件打包下载的实例代码
Jul 12 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
php intval函数用法总结
Apr 14 PHP
php解决约瑟夫环算法实例分析
Sep 30 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
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
javascript Base类 包含基本的方法
2009/07/22 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
python中cPickle用法例子分享
2014/01/03 Python
基于python实现微信模板消息
2015/12/21 Python
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
python3.6数独问题的解决
2019/01/21 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
如何在python中写hive脚本
2019/11/08 Python
Selenium环境变量配置(火狐浏览器)及验证实现
2020/12/07 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
pyx文件 生成pyd 文件用于 cython调用的实现
2021/03/04 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
施工工地安全标语
2014/06/07 职场文书
节约粮食标语
2014/06/18 职场文书
公司给客户的感谢信
2015/01/23 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书