我在EditPlus中已经做了很长时间了,就是不能实现,我是新手。请帮忙。我已经知道问题的原因就在       if (toUser.value.indexOf(selectText) == -1)这里,因为aabb里就包含了aa或bb,因此添不进去。帮忙啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    <script type="text/javascript" language="javascript">
    function acceptSubmit()
    {
    var selectUserName = document.listForm.selectUserName;
    var selectText;
    with (document.listForm)
    {
    var sss=toUser.value;
    var arr=toUser.value.split(",");
    for (var i = 0; i < selectUserName.length; i++)
    {
    if (selectUserName.options[i].selected)
    {
    selectText = selectUserName[i].text;
    var arr=toUser.value.split(",");
    // if (toUser.value.indexOf(selectText) == -1)
    // {
    // toUser.value += "," + selectText;
    // }
    //***************************************************
        var flag="false"
    for(var aaa=0;aaa<arr.length;aaa++){
    if (arr[aaa]==selectText)
    {
         flag="true"
    //toUser.value += "," + selectText;
    }
    }
    if(flag=="false"){
    toUser.value += "," + selectText;
    }
    //***************************************************
    }
    }
    if (toUser.value.indexOf(',') == 0)
    {
    toUser.value =toUser.value.substring(1, toUser.value.length);
    }}
    }
    </script>
    </head>
    <body>
    <form id="listForm" name="listForm" method="post" action="">
    <input type=text name="toUser" value="" style="width:2000">
    <table border="0" cellspacing="0" cellpadding="0">
    <tbody>
    <tr>
    <td width="200" align="center">
    <select id="selectUserName" name='selectUserName"' multiple size="10"style="width: 200px;height:260px">
    <option value="100">aa</option>
    <option value="100">bb</option>
    <option value="101">aabb</option>
    <option value="102">cc</option>
    <option value="103">dd</option>
    <option value="104">ee</option>
    <option value="105">ff</option>
    <option value="106">gg</option>
    </select>
    </td>
    </tr>
    <tr>
    <td>&nbsp;&nbsp;</td>
    <td>&nbsp;&nbsp;</td>
    <tr>
    <tr>
    <td>
    &nbsp;&nbsp;<input type="button" name="btnAccept" style="color:blue" value="添加"
    onclick="acceptSubmit()">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="button" name="btnCancel" style="color:blue" value="Cancel" onclick="window.close()">
    </td>
    </tr>
    </tbody>
    </table>
    </form>
    </body>
      

  2.   

    用我给你的代码把你的替换掉就行了( <sciprt … </script> 之间的东西 其他不要动 )
    <script type="text/javascript" language="javascript">
    function acceptSubmit()
    {
      var selectUserName = document.listForm.selectUserName;
      var selectText;
      with (document.listForm)
      {
         var sss=toUser.value;
         var arr=toUser.value.split(",");
         for (var i = 0; i < selectUserName.length; i++)
         {
             if (selectUserName.options[i].selected)
             {
                 selectText = selectUserName[i].text;
                 var arr=toUser.value.split(",");
                 for(var n=0;n<arr.length;n++){
      if(arr[n]==selectText){
    return;
    }
     }
     toUser.value += "," + selectText;
              }
          }     
          if (toUser.value.indexOf(',') == 0)
          {
              toUser.value =toUser.value.substring(1, toUser.value.length);
          }    }
     }
    </script>