不太明白你指的别处是什么意思.  我就这么理解了:<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>当然还可以保存在数组里.

解决方案 »

  1.   

    <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>
    <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>
      

  2.   

    我指的别处是指通过表单提交被另外一个页面获取,并作为一个字段保存到数据库中去。
    多选的时候,document.form1.ss.options[document.form1.ss.selectedIndex]获得的只是列表被选中的第一项。
    如果我在当前页面submit后,在submit转向的另外一个页面中如何取得这个表单项的多选列表中的值?然后再转回这个页面,如果根据给定的这个值置列表中的某些选项为selected?
    至于数组,我总不至于将一个不定长数组作为一个字段存往数据库吧。
      

  3.   

    后台的我不懂, 不过w3c的html4.0 ref 中说了: 当select是多选时, 表单提交后应该是选中的都提交.后台接收会不会是一个数据集合?  
    你可以将字符串付给hidden么. 不过有点麻烦了.
      

  4.   

    交给后台,我也是这么想的,
    下面是我的一个例子,就是页面刷新是我不知道怎么保存页面再显示刚才修改的值(也就是说如何在页面开头获取刚才表单的那个值),全清空了
    <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>
      

  5.   

    你的写法好像有点问题, 你这么写,不管数字是否超出范围都会提交.
    你的意思是不是当页面提交后,文本框的输入值不变, 以便可以继续修改?如果是这样,有几个方法你试试吧, 都是别人以前用过的:
    1. <form target="_blank">
    2. <input value="<%=Request.form("a")%>" name="a">
    3. 每个输入框后对应一个<input type="hidden"> 存储该值 然后回写