【发布时间】:2019-01-02 02:33:36
【问题描述】:
foreach ($graphEdge as $graphNode) {
echo
"<div class='form-check mb-3'>" .
"<input type='radio' name='fb_profile' class='form-check-input' value='".$graphNode['name']."'>" .
"<img class='mr-2' src='" . $graphNode['picture']['url'] . "'>" .
"<label class='form-check-label' for='fb_profile'>" .
$graphNode['name'] . '</label>' .
"</div>";
echo "<input type='hidden' name='fb_access_token' value='" . $graphNode['access_token'] . "'>";
echo "<input type='hidden' name='fb_id' value='" . $graphNode['id'] . "'>";
}
正如标题所暗示的,我有 3 个名为“fb_id”的隐藏输入,当我在表单中发布时,它总是会检索最后一个隐藏输入,但 fb_access_token 将始终正确发布。
【问题讨论】:
-
名称应该是唯一的。
-
如果输入名称相同,浏览器/服务器应该如何区分输入?使用 Nikita 所述的数组
-
这是预期行为,请尝试使用输入名称数组,例如
name="fb_id[]" -
问题是?正如所写,它只是一个事实陈述
-
这些是隐藏字段,因此没有用户选择。如果您希望用户主动选择某些内容,那么就不要使用隐藏字段来开始,这没有多大意义。