今天把PHP中获取网页表单中下拉菜单变量值的方法又复习了一下
1、表单中的单选、复选、文本框等中的内容可以在PHP中直接通过$_POST["变量名"]得到。(设用POST方式)
2、如果是单选的下拉菜单,也可以通过这种方式得到。
3、但如果是复选的下拉列表,由于以下原因(摘自www.php.net),而不能直接得到
怎样从可多选的 HTML 的 select multiple 标记中得到所有结果?
可多选的 select multiple 标记是 HTML 的一个构造,允许用户从一个列表中选择多个项目。这些项目接着被传递给该表单 action 中指定的处理程序。问题是它们都会被用同样的名字传递。例如:
每个被选项将这样被传递到表单处理程序:
var=option1
var=option2
var=option3
每个选项将覆盖前面一个$var变量的内容。解决方案是用 PHP 的“表单单元数组”特性。使用方法如下:
这将告诉 PHP 将$var当成数组对待,每个对 var[] 的赋值都会给数组增加一项。第一项将成为$var[0],下一个是$var[1],等等。可以用 count() 函数来测定选择了多少个项目,必要时可以用 sort() 函数来对选项的数组进行排序。
注意如果你在 java script 中通过名字来引用单元,单元名字中的[]可能会造成问题。用表单单元中的数字序号来替代,或者将变量名用单引号括起来并用其作为单元数组的索引,例如:
variable = documents.forms[0].elements['var[]'];
最后我做了以下代码以实现对下拉菜单值的获取
if ($_POST["Submit"]<>"")
{
echo $_POST["aa"];
echo "----";
echo $_POST["bb"];
echo "
";
$a=count($_POST["cc"]);
echo "a=$a";
echo "
";
for ($i=0;$i
{
echo $_POST["cc"][$i];
echo "----";
}
}
?>
无标题文档boy
girl
zj
sh
hz