我想知道,如果通过PHP发送表格,即
<label for="adult">Adult:</label>
<input type="radio" value="48" name="type" class="name">
<label for="child">Child:</label>
<input type="radio" value="12" name="type" class="name">
<label for="oap">OAP:</label>
<input type="radio" value="25" name="type" class="name">
<label for="trial">Trial:</label>
<input type="radio" value="12" name="type" class="name">
有没有办法,不仅要获得广播的$_POST
,还要关联<label>
值,即Adult:
,Child:
或OAP
?< / p>
由于
更新:
好的,我现在添加了第二个输入字段,它具有与另一个相同的数值。这意味着我无法再将标记值与数字值相关联,即如果用户选择了值为12的子项,则我不能再说12 = child
,因为12也可能是trial
。这是我想要获得标签的主要原因。
由于
答案 0 :(得分:2)
这些值不随发布请求一起发送。试图找到某种文件来支持这一点,但我现在似乎无法找到任何东西。基本上,这些值不是表格的一部分。与表单一起发布的是输入元素,选择元素,textarea元素等的值,但不包括其容器的文本。
编辑:我不明白为什么这些字段具有相同的值,如果它们不是同一个东西。也许它们不应该归为同一个name
?如果您不能使用其他数字,那么如何为value="12trial"
等值添加前缀或后缀。
基本上,值的值可以完全是任意的。服务器应该知道post数据中的哪个值对应于服务器上的实际值。同样重要的是要注意,使用从页面发布的实际值作为代码中的值可能不是一个好主意。如果有人向您的网页发送包含错误数据的请求,则每个值都应使用默认值进行评估。
答案 1 :(得分:2)
注意:未经测试 你应该只有一个值/标签数组
$radios = array("48" => "Adult", "12=>"child", etc)
然后您可以根据值
获取名称$name = $radios[$_POST['type']];
答案 2 :(得分:1)
考虑到标记,并假设你不想添加疯狂的JS,那么不,不是来自浏览器。
由于您首先将HTML发送到浏览器,因此您应该能够在服务器上将“48”与“成人”相关联(依此类推)。那样做。
答案 3 :(得分:0)
你可能会有一些数组或类别,但是说实话,我认为价值应该与id相对应,你可以从数据库中查找并显示它们,或者用它们来做这样的事情;
<? if ($_POST['type'] == '12') {
echo('Child');
} ?>
然后重复这个过程。