获取网页表单中的下拉列表的变量值

获取网页表单中的下拉列表的变量值

今天把PHP中获取网页表单中下拉菜单变量值的方法又复习了一下

1、表单中的单选、复选、文本框等中的内容可以在PHP中直接通过$_POST["变量名"]得到。(设用POST方式)

2、如果是单选的下拉菜单,也可以通过这种方式得到。

3、但如果是复选的下拉列表,由于以下原因(摘自www.php.net),而不能直接得到

怎样从可多选的 HTML 的 select multiple 标记中得到所有结果?

可多选的 select multiple 标记是 HTML 的一个构造,允许用户从一个列表中选择多个项目。这些项目接着被传递给该表单 action 中指定的处理程序。问题是它们都会被用同样的名字传递。例如:

<select name="var" multiple="yes">

每个被选项将这样被传递到表单处理程序:

var=option1
var=option2
var=option3

每个选项将覆盖前面一个$var变量的内容。解决方案是用 PHP 的“表单单元数组”特性。使用方法如下:

<select name="var[]" multiple="yes">

这将告诉 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 "<br>";
  $a=count($_POST["cc"]);
  echo "a=$a";
  echo "<br>";
  for ($i=0;$i<$a;$i++)
  {
    echo $_POST["cc"][$i];
    echo "----";
   }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<form name="form1" method="post" action="">
  <input name="aa" type="text" id="aa">
  <select name="bb" id="bb">
    <option value="10">boy</option>
    <option value="20">girl</option>
  </select>
  <select name="cc[]" size="3" multiple>
    <option value="100">zj</option>
    <option value="200">sh</option>
    <option value="300">hz</option>
  </select>
  <input type="submit" name="Submit" value="提交">
</form>
</body>
</html>

转载于:https://my.oschina.net/arthurdu/blog/99635

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值