如何取得多选select的值 最好用[]号,这个其实蛮省事的。如果你一定要这样做,而且你的form传递方式为get时,你可以试着解析下$QUERY_STRING 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是这样的话,我的javascript程序全部要重写了,因为现在的select需要通过js去处理 那你就把选框的选项名设成test1,test2....test5这个可以用循环完成的! 在提交前处理select的多选结果为字符串,保存在一个hidden的元素里,然后再submit假设hidden元素的name=selValue<script>function setSel(){ selArray = new Array(); var sel = document.forms[0].test.options; for( i=0; i<sel.length; i++ ) { if( sel[i].selected == true ) selArray.push( sel[i].value ); } document.forms[0].selValue = selArray.join(","); document.forms[0].submit();}</script> 上面写错了一个地方document.forms[0].selValue = selArray.join(",");=>document.forms[0].selValue.value = selArray.join(","); JS很好处理的,<script language=javascript>function sele(){for(var i=0; i<=form1["test[]"].length ;i++){ alert(form1["test[]"][i].value);}}</script><form name=form1><select name="test" size=5 multiple onChange="javascript:sele()">...........</select></form> <select name="test[]" id="test"> 我来改一下,你可能比较容易明白<script>function setSel(){var str="";var sel = document.form1.test.options;for( i=0; i<sel.length; i++ ){ if( sel[i].selected == true ) str += sel[i].value + "|";}document.form1.selValue = str;document.forms1.submit();}</script>接收字符串后再通过explode分解 <select name="test[]" size=5 multiple>只能这样写,这是php的约定!要用js处理也很简单1、你可以给他一个id<select id=test name="test[]" size=5 multiple>2、原document.formname.test....改为document.formname["test[]"].... 遇到这种问题的时候,建议用PHPINFO();看变量值 ,就知道怎么使用了。 <?if (isset($_POST['users'])) { $arr=$_POST["users"]; FOR($i=0; $i<count($arr); $i++) { echo $arr[$i]."<br>"; }}?><FORM METHOD=POST ACTION=""><INPUT TYPE="checkbox" NAME="users[]" value='1'><INPUT TYPE="checkbox" NAME="users[]" value='2'><INPUT TYPE="checkbox" NAME="users[]" value='3'><INPUT TYPE="checkbox" NAME="users[]" value='4'><INPUT TYPE="checkbox" NAME="users[]" value='5'><INPUT TYPE="submit"></FORM> php 截取字符串 有啊店铺商品链接跳转 请教一个问题 问一个技术问题,关于substr 和mb_substr 浏览记录可以,添加就不行? 帮忙!php访问Access数据库出问题啦 ! 不用xmlhttp实现的了吗? mysql查询语句 关于表单连动问题(1000) 一个php的小问题! smarttemplate具体应用 file_get_contents抓取页面不全问题
假设hidden元素的name=selValue
<script>
function setSel()
{
selArray = new Array();
var sel = document.forms[0].test.options; for( i=0; i<sel.length; i++ )
{
if( sel[i].selected == true )
selArray.push( sel[i].value );
} document.forms[0].selValue = selArray.join(","); document.forms[0].submit();
}
</script>
document.forms[0].selValue = selArray.join(",");
=>
document.forms[0].selValue.value = selArray.join(",");
<script language=javascript>
function sele(){
for(var i=0; i<=form1["test[]"].length ;i++)
{
alert(form1["test[]"][i].value);
}
}
</script><form name=form1>
<select name="test" size=5 multiple onChange="javascript:sele()">
...........
</select>
</form>
<script>
function setSel()
{
var str="";
var sel = document.form1.test.options;for( i=0; i<sel.length; i++ )
{
if( sel[i].selected == true )
str += sel[i].value + "|";
}document.form1.selValue = str;document.forms1.submit();
}
</script>接收字符串后再通过explode分解
只能这样写,这是php的约定!要用js处理也很简单
1、你可以给他一个id
<select id=test name="test[]" size=5 multiple>
2、原
document.formname.test....
改为
document.formname["test[]"]....
PHPINFO();
看变量值 ,就知道怎么使用了。
if (isset($_POST['users'])) {
$arr=$_POST["users"];
FOR($i=0; $i<count($arr); $i++)
{
echo $arr[$i]."<br>";
}
}
?>
<FORM METHOD=POST ACTION="">
<INPUT TYPE="checkbox" NAME="users[]" value='1'>
<INPUT TYPE="checkbox" NAME="users[]" value='2'>
<INPUT TYPE="checkbox" NAME="users[]" value='3'>
<INPUT TYPE="checkbox" NAME="users[]" value='4'>
<INPUT TYPE="checkbox" NAME="users[]" value='5'>
<INPUT TYPE="submit">
</FORM>