比如我在记事本里有一串字符1234-5678-90
现在网页中有三个文本框,我想复制字符过来,在第一个文本框中执行粘贴功能后,三个文本框的值依次为
1234,5678,90
请问这样的功能能用js或者其它方法实现吗

解决方案 »

  1.   

    可以的。在onpaste事件里读取剪贴板,然后split,分别填充
      

  2.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>paste.html</title>

        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="this is my page">
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
         function setVal() {    
         var el = document.getElementsByName("inp");
         var valArr = el[0].value.split("-");
         for (var i = 0; i < el.length; i++) {
         el[i].value = valArr[i];
         }
         }
        </script>  </head>
      
      <body>
        <input type="text" name="inp"  onchange="setVal()"/>
        <input type="text" name="inp"/>
        <input type="text" name="inp"/>
      </body>
    </html>
      

  3.   

    <input type="text" onfocus="p(1)"><input type="text" onfocus="p(2)"><input type="text" onfocus="p(3)">
    <script type="text/javascript">
    function p(n){
    var txt;
    if(n == 1)txt = 1234;
    else if(n == 2)txt = 5678;
    else txt = 90;
    if(window.clipboardData){
    window.clipboardData.clearData();
    window.clipboardData.setData("Text", txt + "");
    }else if(navigator.userAgent.indexOf("Opera") != -1){
    window.location = txt;
    }else if (window.netscape){
    try {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    } catch (e) {
    alert("被浏览器拒绝!\n您可以在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
    }
    var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
    if (!clip){return;}
    var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
    if (!trans){return;}
    trans.addDataFlavor('text/unicode');
    var str = new Object();
    var len = new Object();
    str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
    var copytext = txt;
    str.data = copytext;
    trans.setTransferData("text/unicode",str,copytext.length * 2);
    var clipid = Components.interfaces.nsIClipboard;
    if (!clip){return false;}
    clip.setData(trans,null,clipid.kGlobalClipboard);
    }
    }
    </script>