解决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 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
在PHP中使用反射技术的架构插件使用说明
May 18 PHP
PHP 异步执行方法,模拟多线程的应用分析
Jun 03 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
PHP中读取文件的8种方法和代码实例
Aug 05 PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 PHP
discuz图片顺序混乱解决方案
Jul 29 PHP
php实现简单爬虫的开发
Mar 28 PHP
php 读取输出其他文件的实现方法
Jul 26 PHP
关于php几种字符串连接的效率比较(详解)
Feb 22 PHP
php 调用百度sms来发送短信的实现示例
Nov 02 PHP
PHP7 弃用功能
Mar 09 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导入模块文件分享
2015/03/17 PHP
PHP输出日历表代码实例
2015/03/27 PHP
PHP格式化MYSQL返回float类型的方法
2016/03/30 PHP
php设计模式之单例模式代码
2016/06/11 PHP
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
JavaScript 调试器简介
2009/02/21 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
使用JQuery库提供的扩展功能实现自定义方法
2014/09/09 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
用Python编写简单的定时器的方法
2015/05/02 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
python时间日期操作方法实例小结
2020/02/06 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
Python根据字符串调用函数过程解析
2020/11/05 Python
财务会计人员岗位职责
2013/11/30 职场文书
党员承诺践诺书
2014/05/20 职场文书
活动总结范文
2014/08/30 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
公司人事管理制度
2015/08/05 职场文书
用 Python 定义 Schema 并生成 Parquet 文件详情
2021/09/25 Python
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL