解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题

5年以前  |  阅读数:298 次  |  编程语言:PHP 

一 问题

在公司的开发过程中,遇到了一个问题:如何处理 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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例