如果我有与具有有相同的数组作为名称属性
名称=“1_1 []”
两个复选框形式和既不那些的复选框被打勾,有什么办法可以知道他们出现在表单中?如果未选中这些字段,则不会通过$ _POST数组发送。
我在问这个原因,这些名称值是动态生成的,我并不总是知道它们是什么,我必须验证它们(确保至少有一个被选中)。
我是否必须开始使用隐藏字段来发送名称属性值,还是有更好的方法?
如果我有与具有有相同的数组作为名称属性
名称=“1_1 []”
两个复选框形式和既不那些的复选框被打勾,有什么办法可以知道他们出现在表单中?如果未选中这些字段,则不会通过$ _POST数组发送。
我在问这个原因,这些名称值是动态生成的,我并不总是知道它们是什么,我必须验证它们(确保至少有一个被选中)。
我是否必须开始使用隐藏字段来发送名称属性值,还是有更好的方法?
如果你真的无法到达接收页面上的数据,如果你想继续使用复选框,使用隐藏字段可能是最明智的方式。如果未选中,则无法通过复选框发送值,这就是它们的工作原理。
另一方面,接收页面不知道要发送什么数据听起来很奇怪。你不能重新获取相同的数据吗?
它们不在$ _POST数组中的事实意味着您可以使用isset()
来查看它们是否已设置。
如果你有两个复选框和一个需要设置至少,你可以这样做:
$missingValue = TRUE;
if(isset($_POST['checkbox_foo'] || isset($_POST['checkbox_bar'])
{
$missingValue = FALSE;
}
如果这还不够好,你必须去与隐藏字段。
将这个在复选框以上: 编辑:忘了读取的最后一行。我实际上使用隐藏的领域,我认为这是最简单的方法。否则,您应该在服务器端页面验证该字段是否已设置。 – 2011-03-19 22:34:45