解决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中文本操作的类
Mar 17 PHP
Joomla下利用configuration.php存储简单数据
May 19 PHP
删除无限分类并同时删除它下面的所有子分类的方法
Aug 08 PHP
PHP实现的比较完善的购物车类
Dec 02 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
php结合md5实现的加密解密方法
Jan 25 PHP
PHP中explode函数和split函数的区别小结
Aug 24 PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 PHP
PHP defined()函数的使用图文详解
Jul 20 PHP
php解决安全问题的方法实例
Sep 19 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 PHP
PHP7 windows支持
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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
php mail to 配置详解
2014/01/16 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
2007/11/30 Javascript
jQuery随便控制任意div隐藏的方法
2013/06/28 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
Python语言描述随机梯度下降法
2018/01/04 Python
python日志logging模块使用方法分析
2019/05/23 Python
python跳出双层for循环的解决方法
2019/06/24 Python
如何更优雅地写python代码
2019/07/02 Python
python 实现端口扫描工具
2020/12/18 Python
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
开办加工厂创业计划书
2014/01/03 职场文书
银行存款证明样本
2014/01/17 职场文书
六一儿童节开幕词
2015/01/29 职场文书
休学证明范本
2015/06/19 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript