<script>
function sel(_this){
  var obj_right=document.getElementById("content")
  var tmp_str=(obj_right.value==""?"":"\n")+_this.innerHTML
  obj_right.value+=tmp_str
  _this.style.color="#aaa"
  _this.onclick=function(){alert("该数据已被点击过")}
}
</script>
<table>
<TR>
<TD width="161">
<A class="STYLE3" onClick="sel(this)" style="cursor:hand;">点击自动添加内容</A><br>
<A class="STYLE3" onClick="sel(this)" style="cursor:hand;">1111   111222</A><br>
<A class="STYLE3" onClick="sel(this)" style="cursor:hand;">2222,22</A><br>
<A class="STYLE3" onClick="sel(this)" style="cursor:hand;">333;3333</A><br>
</TD><TD width="161"><textarea name="content" rows="6" cols="54"></textarea>
</TD>
</TR>
</table>这个可以实现点击后自动完成复制咱贴的功能 但是怎么实现复制粘贴 数据中带有空格或者逗号或者分号的两个数据分开复制粘贴
就例如1111   111222   2222,22    333;3333  这些数据 如何在复制粘贴过程中把前一半和后一半分开?

解决方案 »

  1.   

    首先可以用indexof判断是用空格还是用逗号分开,分开的话可以用split
      

  2.   


    <script>
    function sel(_this){
        var texts = _this.innerText.split(new RegExp("[\\s,;]"));
        for(var i=0; i<texts.length; i++){
    if(texts[i]){ //不为空就加到Textarea中
        document.getElementById("content").value += texts[i]+"\n";
    }
        }
        //TODO 至于已经存在的那些项想另外进行处理你就自己去完善代码吧
    }
    </script><table>
    <TR>
    <TD width="161">
    <A class="STYLE3" onClick="sel(this)" style="cursor:hand;">点击自动添加内容</A><br>
    <A class="STYLE3" onClick="sel(this)" style="cursor:hand;">1111   111222</A><br>
    <A class="STYLE3" onClick="sel(this)" style="cursor:hand;">2222,22</A><br>
    <A class="STYLE3" onClick="sel(this)" style="cursor:hand;">333;3333</A><br>
    </TD><TD width="161"><textarea id="content" name="content" rows="6" cols="54"></textarea>
    </TD>
    </TR>
    </table>