我正在尝试创建一个使用PHP的表单,我似乎找不到关于我需要什么的教程,所以我想我会在这里询问。
我的页面上有多个复选框选项...
<li>
<label>What service are you enquiring about?</label>
<input type="checkbox" value="Static guarding" name="service">Static guarding<br>
<input type="checkbox" value="Mobile Patrols" name="service">Mobile Patrols<br>
<input type="checkbox" value="Alarm response escorting" name="service">Alarm response escorting<br>
<input type="checkbox" value="Alarm response/ Keyholding" name="service">Alarm response/ Keyholding<br>
<input type="checkbox" value="Other" name="service">Other<input type="hidden" value="Other" name="service"></span>
</li>
但是,我不确定如何使用POST方法收集所有复选框值?
如果我使用
$service = $_POST['service'];
我只返回'other‘
发布于 2011-10-05 05:23:49
目前它只是捕捉你最后一次隐藏的输入。为什么你在那里有一个隐藏的输入呢?如果要在选中“其他”框的情况下收集信息,则必须隐藏
<input type="text" name="other" style="display:none;"/>
当"Other“框被选中时,你可以用javascript显示它。差不多吧。
只需将名称属性设置为service[]
<li>
<label>What service are you enquiring about?</label>
<input type="checkbox" value="Static guarding" name="service[]">Static guarding<br />
<input type="checkbox" value="Mobile Patrols" name="service[]">Mobile Patrols<br />
<input type="checkbox" value="Alarm response escorting" name="service[]">Alarm response escorting<br />
<input type="checkbox" value="Alarm response/ Keyholding" name="service[]">Alarm response/ Keyholding<br />
<input type="checkbox" value="Other" name="service[]">Other</span>
</li>
然后在你的PHP中你可以像这样访问它
$service = $_POST['service'];
echo $service[0]; // Output will be the value of the first selected checkbox
echo $service[1]; // Output will be the value of the second selected checkbox
print_r($service); //Output will be an array of values of the selected checkboxes
等等。
发布于 2011-10-05 05:21:17
<input type="checkbox" value="Other" name="service">Other<input type="hidden" value="Other" name="service"></span>
您有一个与checkbox同名的隐藏输入字段。与前一个字段同名的“后”字段将覆盖前一个字段的值。这意味着,如上所述,您的表单将始终提交service=Other
。
考虑到您的问题在html中的表达方式,它听起来更像是您想要一个单选按钮,它只允许选择一组同名字段中的一个。复选框是"AND“情况,单选按钮对应于"OR”
https://stackoverflow.com/questions/7654155
复制相似问题