我有一张表格:
<form name="form1" method="post" action="form_to_write.php">
<h4>q1</h4>
<input type="radio" name="a1" value="someValue1" />someValue1<br />
<input type="radio" name="a1" value="someValue2" />someValue2<br />
<input type="radio" name="a1" value="someValue3" />someValue3
<h4>q2</h4>
<input type="radio" name="a2" value="someValue4" />someValue4<br />
<input type="radio" name="a2" value="someValue5" />someValue5<br />
<input type="radio" name="a2" value="someValue6" />someValue6
<h4>q3</h4>
<input type="radio" name="a3" value="someValue9" />someValue9<br />
<input type="radio" name="a3" value="someValue7" />someValue7<br />
<input type="radio" name="a3" value="someValue8" />someValue8
<input type="submit" value="submit" name="submit"/>
</form>
想要按类型(无线电)读取所有数组输入。我知道,如何按名称阅读,但是如何按类型阅读?
答案 0 :(得分:3)
提交表单时,不会将输入type
属性发送到服务器。仅发送name
和value
。您需要使用有用的name
来跟踪服务器上的内容。
答案 1 :(得分:1)
让你的form_to_write.php
像这样:
<?php
print_r($_POST);
并研究它的输出。
它包含您可以从表单中获得的所有内容。您可以自由选择使用的内容。享受。
由于您的问题是一个问题很严重的完美示例,我只能猜测您的真实需求。
似乎你想得到一个包含所有单选按钮的数组。你仍然可以使用名字来做到这一点。
使你的单选按钮名称如下
<input type="radio" name="radios[a1]" value="someValue1" />someValue1<br />
<input type="radio" name="radios[a2]" value="someValue4" />someValue4<br />
<input type="radio" name="radios[a3]" value="someValue9" />someValue9<br />
您将能够访问包含所有无线电字段的$_POST['radios']
数组
答案 2 :(得分:1)
如果您正在寻找像GetAllInputsOfType("radio")
这样的PHP函数,那么您将无法找到它(除非您能像DOM那样对DOM有所了解; maybe this will help?)。
我在类似情况下所做的是根据类型重命名我的输入字段,因此你可以使用radio_a1,radio_a1,radio_a3和text_a4,memo_a5,listbox_a6等(而且,btw,而不是a1,a2,a3)。使用一些有意义的名称,而不是a1,a2,a3; - )
然后你可以循环遍历数组$ _GET或$ _POST,寻找以radio_
开头的元素......
答案 3 :(得分:0)
你可以使用类似Zend_Form的东西跟踪它(甚至可以做验证工作等)。但是你不能只用php来获取表单字段的类型 - 你需要在JS中做一些事情,而这些事情在客户端并且可能不受信任。