php处理form表单中提交多个name属性值相同的input标签问题的方法
2018-04-01 22:10:41
•
阅读
打赏
这篇文章主要介绍了php处理form 表单提交多个name 属性值相同的input 标签问题的方法。
修改源码中一些 input 元素的相同 name 属性值为数组。
一 问题
在开发过程中,如何处理 form 表单提交了多个 name 属性值相同的 input 标签
<!--{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 仅能获取到一个 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_price'] = $_POST['express_price'][$key];
以上所述是小编给大家介绍的php处理form 表单提交多个name 属性值相同的input 标签问题的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型