不太明白你指的别处是什么意思. 我就这么理解了:<FORM METHOD=POST ACTION="" name="form1">
<SELECT NAME="ss" multiple>
<option>aaa</option>
<option>bbb</option>
<option>ccc</option>
<option>ddd</option>
<option>eee</option>
<option>fff</option>
</SELECT>
</FORM>
<INPUT TYPE="button" value="click" onclick="show()" id="slum">
<SCRIPT LANGUAGE="JavaScript">
<!--
function show()
{
var str=""
var len=document.form1.ss.options.length
for(var i=0;i<len;i++)
{
if(document.form1.ss.options[i].selected==true)
{
str=str+document.form1.ss.options[i].text + ","
}
} alert(str)
}
//-->
</SCRIPT>当然还可以保存在数组里.
<SELECT NAME="ss" multiple>
<option>aaa</option>
<option>bbb</option>
<option>ccc</option>
<option>ddd</option>
<option>eee</option>
<option>fff</option>
</SELECT>
</FORM>
<INPUT TYPE="button" value="click" onclick="show()" id="slum">
<SCRIPT LANGUAGE="JavaScript">
<!--
function show()
{
var str=""
var len=document.form1.ss.options.length
for(var i=0;i<len;i++)
{
if(document.form1.ss.options[i].selected==true)
{
str=str+document.form1.ss.options[i].text + ","
}
} alert(str)
}
//-->
</SCRIPT>当然还可以保存在数组里.
<SELECT NAME="ss" multiple>
<option>aaa</option>
<option>bbb</option>
<option>ccc</option>
<option>ddd</option>
<option>eee</option>
<option>fff</option>
</SELECT>
<INPUT TYPE="text" NAME="text1" value="slum">
</FORM>
<INPUT TYPE="button" value="click" onclick="show()" id="slum">
<SCRIPT LANGUAGE="JavaScript">
<!--
function show()
{
if(document.form1.ss.selectedIndex!=-1)
{
var str=document.form1.text1.value
document.form1.ss.options[document.form1.ss.selectedIndex].text=str
}
else
{
alert("please select one item")
}
}
//-->
</SCRIPT>
多选的时候,document.form1.ss.options[document.form1.ss.selectedIndex]获得的只是列表被选中的第一项。
如果我在当前页面submit后,在submit转向的另外一个页面中如何取得这个表单项的多选列表中的值?然后再转回这个页面,如果根据给定的这个值置列表中的某些选项为selected?
至于数组,我总不至于将一个不定长数组作为一个字段存往数据库吧。
你可以将字符串付给hidden么. 不过有点麻烦了.
下面是我的一个例子,就是页面刷新是我不知道怎么保存页面再显示刚才修改的值(也就是说如何在页面开头获取刚才表单的那个值),全清空了
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<script language="javascript">
function doSubmit1()
{
var val = document.form1.textno.value;
var no = parseInt(val);
if(no>=16 || no<=0)
{
alert("输入的数字范围错误!");
return;
}
else
document.form1.tno.value = val;
}function doSubmit2()
{
var no = 0;
for(i=0;i<document.form1.mselect;i++)
{
if(document.form1.mselect.options[i].selected==true)
no += pow(2,index)
}
document.form1.tno.value = val;
}function initList()
{
var val = document.form1.tno.value;
var no = parseInt(val);
while(no>0)
{
var index = Math.floor(Math.log(no)/Math.log(2));
document.form1.mselect.options[index].selected=true;
no -= Math.pow(2,index);
}
}
</script>
<body>
<form name="form1" method="post" action="">
<div align="center">
<p>
<input type="hidden" name="tno">
<input name="textno" type="text" id="textno">
<input type="submit" name="Submit" value="提交" onClick="doSubmit1();">
</p>
<p>
<select name="mselect" size="20" multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</p>
<input type="submit" name="Submit" value="提交" onClick="doSubmit2();">
</div>
</form>
<script language="javascript">
initList();
</script>
</body>
</html>
你的意思是不是当页面提交后,文本框的输入值不变, 以便可以继续修改?如果是这样,有几个方法你试试吧, 都是别人以前用过的:
1. <form target="_blank">
2. <input value="<%=Request.form("a")%>" name="a">
3. 每个输入框后对应一个<input type="hidden"> 存储该值 然后回写