多选列表放入数组中如何传递 $student = $_POST['student'];echo $n = count($student);for($i=0;$i<$n);$i++) echo $student[$i]; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题出在选择列表的地方,我怎么知道我选择的内容是否放到了那个数组中,我按这样写显示不出student的内容,是不是就说明没取到数组的内容? 大致这样:<?phpprint_r($_POST);?><form name=form1 method=post><span id="A"><select name="student[]" multiple><option value="a">aaa</option><option value="b">bbb</option><option value="c">ccc</option></select></span></form><form name=form2 onsubmit="ex_submit()" method=post><span id="B" style="display:none"></span><input type=submit></form><script>function ex_submit() { B.innerHTML = A.innerHTML; //把select复制到提交表单中 document.form2.submit()}</script> 还是用student吗?我表单上还有其他下拉列表及文本框会有影响吗? 我这样还是取不到值,我的form1中有三个下拉列表,年级、班级、学生,选择了年级后自动显示这个年级的班级,选择了班机后显示该班的所有学生,选择学生后如果提交的话student这个列表就会刷新,怎么让它显示选取了哪些记录而不刷新又能把值传递给form2? 呵呵!你又换了个问题!首先请测试上面我给的代码,以确认可以同时提交不同表单的内容!其次,你的新问题是在不提交不刷新的前提下,动态修改下拉列表的内容。请参考:与服务器交互的写法<?php$conn = mysql_connect(); // 连接数据库mysql_select_db("test"); // 选择库if(!isset($_GET['key'])) { // 检查是否有传递参数 $sql = "select * from list where type=''"; $rs = mysql_query($sql); $str = ""; while($row = mysql_fetch_array($rs)) // 循环构造初始信息 $str .= "<option value='{$row['name']}'>{$row['name']}\n";}else { // 有,产生脚本代码 $sql = "select * from list where type='{$_GET['key']}'"; $rs = mysql_query($sql); $str = "sele2.options.length = 0;\n"; while($row = mysql_fetch_array($rs)) $str .= "sele2.options[sele2.options.length] = new Option('{$row['name']}',{$row['name']});\n"; echo $str; exit;}?>本方法通过改变script标记的src属性来达到动态修改列表框的内容<br><script id="sensele" src=""></script><script>function loadsele(v) { var s = v.options[v.selectedIndex].value; sensele.src = "?key="+s;}</script><select id="sele1" onchange="loadsele(this)"><?php echo $str; ?></select><select id="sele2"></select><span id="view"></span>表结构CREATE TABLE list ( type varchar(10) NOT NULL default '', name varchar(50) NOT NULL default '') TYPE=MyISAM;## 导出下面的数据库内容 `list`#INSERT INTO list VALUES ('', 'A');INSERT INTO list VALUES ('', 'B');INSERT INTO list VALUES ('', 'C');INSERT INTO list VALUES ('A', '1');INSERT INTO list VALUES ('A', '2');INSERT INTO list VALUES ('A', '3');INSERT INTO list VALUES ('B', '4');INSERT INTO list VALUES ('B', '5');INSERT INTO list VALUES ('B', '6');INSERT INTO list VALUES ('C', '7');INSERT INTO list VALUES ('C', '8');INSERT INTO list VALUES ('C', '9'); 谢谢,你是不是php用的很熟?每天都在网上等着回答问题:) 请问这个MYSQL怎么了?一导入库就也现问题, mb_send_mail发邮件时bcc的写法 如何用javascript关闭指定页面 file_get_contents 函数获取远程网页乱码的问题 php中关于数据库的问题 XMLHTTP刷新php页面出现乱码的问题,请大家帮帮忙 求一正则表达式相关代码 地址转向出错 加速你的页面——数据压缩 怎样像cadn一样,自动生成htm 储存 图片和取出图片MySQL + PHP 超简单问题,新手请教
<?php
print_r($_POST);
?>
<form name=form1 method=post>
<span id="A">
<select name="student[]" multiple>
<option value="a">aaa</option>
<option value="b">bbb</option>
<option value="c">ccc</option>
</select>
</span>
</form><form name=form2 onsubmit="ex_submit()" method=post>
<span id="B" style="display:none"></span>
<input type=submit>
</form>
<script>
function ex_submit() {
B.innerHTML = A.innerHTML; //把select复制到提交表单中
document.form2.submit()
}
</script>
首先请测试上面我给的代码,以确认可以同时提交不同表单的内容!
其次,你的新问题是在不提交不刷新的前提下,动态修改下拉列表的内容。请参考:
与服务器交互的写法
<?php
$conn = mysql_connect(); // 连接数据库
mysql_select_db("test"); // 选择库if(!isset($_GET['key'])) { // 检查是否有传递参数
$sql = "select * from list where type=''";
$rs = mysql_query($sql);
$str = "";
while($row = mysql_fetch_array($rs)) // 循环构造初始信息
$str .= "<option value='{$row['name']}'>{$row['name']}\n";
}else { // 有,产生脚本代码
$sql = "select * from list where type='{$_GET['key']}'";
$rs = mysql_query($sql);
$str = "sele2.options.length = 0;\n";
while($row = mysql_fetch_array($rs))
$str .= "sele2.options[sele2.options.length] = new Option('{$row['name']}',{$row['name']});\n";
echo $str;
exit;
}
?>
本方法通过改变script标记的src属性来达到动态修改列表框的内容<br>
<script id="sensele" src=""></script>
<script>
function loadsele(v) {
var s = v.options[v.selectedIndex].value;
sensele.src = "?key="+s;
}
</script>
<select id="sele1" onchange="loadsele(this)">
<?php echo $str; ?>
</select>
<select id="sele2">
</select>
<span id="view"></span>表结构
CREATE TABLE list (
type varchar(10) NOT NULL default '',
name varchar(50) NOT NULL default ''
) TYPE=MyISAM;#
# 导出下面的数据库内容 `list`
#INSERT INTO list VALUES ('', 'A');
INSERT INTO list VALUES ('', 'B');
INSERT INTO list VALUES ('', 'C');
INSERT INTO list VALUES ('A', '1');
INSERT INTO list VALUES ('A', '2');
INSERT INTO list VALUES ('A', '3');
INSERT INTO list VALUES ('B', '4');
INSERT INTO list VALUES ('B', '5');
INSERT INTO list VALUES ('B', '6');
INSERT INTO list VALUES ('C', '7');
INSERT INTO list VALUES ('C', '8');
INSERT INTO list VALUES ('C', '9');