как скопировать в буфер обмена из нескольких полей формы - PullRequest
0 голосов
/ 20 августа 2011
<TEXTAREA ID="holdtext" >

</TEXTAREA>
<input ID="holdtext1" type="text">

<BUTTON onClick="ClipBoard();">Copy to Clipboard</BUTTON>

<SCRIPT LANGUAGE="JavaScript">

function ClipBoard(){
    Copied = holdtext.createTextRange();
    Copied1 = holdtext1.createTextRange();
    Copied.execCommand("RemoveFormat");
    Copied.execCommand("Copy");
    Copied1.execCommand("RemoveFormat");
    Copied1.execCommand("Copy");
}

</SCRIPT>
 //Here i am not able to copy both the fields.I am ale to copy from a single field but           my form has multiple fields please help me out. 

Ответы [ 2 ]

2 голосов
/ 20 августа 2011

window.clipboardData.setData () может быть вам интересно:

    window.clipboardData.setData('text',
                          document.getElementById('holdtext').value + 
                          document.getElementById('holdtext1').value
                         );

Если вы хотите сделать это с помощью textRange, вы можете установить text -property textRange:

function ClipBoard() 
{
    //create a new element, otherwise setting of range.text 
    //will change the form-fields values
    var dummy=document.createElement('textarea');

    //the range
   Copied = dummy.createTextRange();

   //set the text
   Copied.text = document.getElementById('holdtext').value +
                 document.getElementById('holdtext1').value;

   //expand the range to contain all contents
   Copied.expand('textedit');

   //useless, because textarea's contents doesn't apply formatting
   Copied.execCommand("RemoveFormat");

   //Copy
   Copied.execCommand("Copy");
}

Но всегда имейте в виду: доступ к clipBoard может привести к потере данных, вы никогда не узнаете, что в данный момент находится внутри clipBoard.
Вы действительно не должны получать доступ к clipBoard с веб-страницы.

0 голосов
/ 20 августа 2011

Вы пытались объединить обе строки, а затем скопировать их?

copied = holdtext.createTextRange();
copiedOne = holdtext1.createTextRange();
allCopied = copied + copiedOne;
allCopied.execCommand("RemoveFormat");
allCopied.execCommand("Copy");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...