温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 如何解决php处理form表单提交多个name属性值相同的input标签问题

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

发布时间:2021-07-19 10:32:47 来源:亿速云 阅读:135 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“如何解决php处理form表单提交多个name属性值相同的input标签问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决php处理form表单提交多个name属性值相同的input标签问题”这篇文章吧。

一 问题

在公司的开发过程中,遇到了一个问题:如何处理 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标签问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI