如下一段HTML表单,提交到recv.php显示:
<form action="recv.php">
UserName:
<input type="text" name="username" /><br />
Sex:
<input type="radio" name="sex" value="male" checked="checked" />Male
<input type="radio" name="sex" value="female" />Female<br/>
Profession:
<select name="profession">
<option value="student">Student</option>
<option value="teacher">Teacher</option>
<option value="worker">Worker</option>
</select><br />
Favourite:
<input type="checkbox" name="favourite" value="basketball" checked="checked" />Basketball
<input type="checkbox" name="favourite" value="volleyball" />Volleyball
<input type="checkbox" name="favourite" value="football" />Football<br />
<input type="submit" value="Submit" />
</form>
recv.php代码如下:
<?php
echo '<pre>';
print_r($_GET);
echo '</pre>';
?>
1、为何获取到的多选项,如favourite,即使选了多个,在php里也只能显示一个,这是为什么?如何才能全部显示出来?
2、如果在select里加入multiple="multiple",
那么这个下拉列表就不再在一行显示,而是全部显示出来,这是怎么回事?我不就是想要变成多选而已吗?如何处理呢?
谢谢!
1:php获取 checkbox复选框值的方法
<html xmlns="http://www.jb51.net/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>php获取 checkbox复选框值的方法</title>
</head>
<body>
<form name="form1" method="post" action="">
<label>
<input type="checkbox" name="checkbox[]" value="复选一">
复选一
</label>
<label>
<input type="checkbox" name="checkbox[]" value="复选二">
</label>
复选二
<label>
<input type="checkbox" name="checkbox[]" value="复选三">
</label>
复选三
<label>
<input type="checkbox" name="checkbox[]" value="复选四">
</label>
复选四
<label>
<input type="submit" name="Submit" value="提交">
</label>
</form>
</body>
</html>
<?
if( $_POST )
{
$value = $_POST['checkbox'];
echo '你选择了:'.implode(',',$value);
//由于checkbox属性,我们必须把checkbox复选择框的名字设置为一个如果checkbox[],这样php才能读取,以数据形式,否则不能正确的读取checkbox复选框的值哦。//脚本之家 jb51.net 整理
}
?>
checkbox在php读取值时要用数组形式哦,我们读取这些值用php post获取是以一个array形式哦,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>php获取多选框checkbox值</title>
</head>
<body>
<?php
$area_arr = array();
if($_GET['action']=="submit"){
$area_arr = $_POST['area'];
}
echo "您选定的地区为: ";
foreach ($area_arr as $k=>$v){
echo $v." ";
}
?>
<form id="form1" name="form1" method="post" action="?action=submit">
<p>河北
<label>
<input type="checkbox" id="area" name="area[]" value="河北">
</label>
</p>
<p>河南
<label>
<input type="checkbox" id="area[]" name="area[]" value="河南">
</label>
</p>
<p>山西
<label>
<input type="checkbox" id="area[]" name="area[]" value="山西">
</label>
</p>
<p>山东
<label>
<input type="checkbox" id="area[]" name="area[]" value="山东">
</label>
</p>
<p>江苏
<label>
<input type="checkbox" id="area[]" name="area[]" value="江苏">
</label>
</p>
<p>浙江
<label>
<input type="checkbox" id="area[]" name="area[]" value="浙江">
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="提交">
</label>
</p>
</form>
</body>
</html>
php checkbox默认选择问题(都是利用的这种原理)
<input name="jb51" type="checkbox" value="jiaju" <?php if($myrow[fujia_jiaju]) echo("checked");?>>
2:指定size属性显示几个项,但是size小于option数量需要滚动
<select name="profession" multiple size="2">
<option value="student">Student</option>
<option value="teacher">Teacher</option>
<option value="worker">Worker</option>
</select>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。