解决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 获取完整url地址
Dec 20 PHP
php 高性能书写
Dec 11 PHP
基于MySQL分区性能的详细介绍
May 02 PHP
php遍历文件夹所有文件子文件夹函数代码
Nov 27 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
轻松实现php文件上传功能
Feb 17 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
centos7上编译安装php7以php-fpm方式连接apache
Nov 08 PHP
PHP实现百度人脸识别
May 06 PHP
Laravel统计一段时间间隔的数据方法
Oct 09 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 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
paypal即时到账php实现代码
2010/11/28 PHP
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
FCK调用方法..
2006/12/21 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
使用upstart把nodejs应用封装为系统服务实例
2014/06/01 NodeJs
iscroll.js的上拉下拉刷新时无法回弹的解决方法
2016/02/18 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
Python实现从百度API获取天气的方法
2015/03/11 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
2015/04/30 Python
python数据处理实战(必看篇)
2017/06/11 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
python字典按照value排序方法
2020/12/28 Python
利用 CSS3 实现的无缝轮播功能代码
2017/09/25 HTML / CSS
美国批发供应商:Kole Imports
2019/04/10 全球购物
公务员转正鉴定材料
2014/02/11 职场文书
平面设计专业大学生职业规划书
2014/03/12 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
Python实现老照片修复之上色小技巧
2021/10/16 Python
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB