Copy & paste with a command button?


M

Mr. Murad Jamal

hi guys,
I have a textbox & a button in an .aspx page, when I hit the button i want a
selected text
to be copied to the clipboard AND paste it into the last cursor position on
the textbox BOTH AT ONCE, that means, copying & pasting the text must happen
together on the Button_Click event handler!

when we use javascript to store the selected text into a variable, we must
use this code snippet:

var selectedHtml=(document.selection.createRange()).htmlText;
if(selectedHtml!= "")
document.getElementById("TextBox3").focus();
sel = document.selection.createRange();
sel.text = selectedHtml;

now, the exact question becomes: how to copy the sel variable above [which
holdes the selected html text] to the clipboard and paste it into the LAST
CURSOR POSITION in the textbox on the Button-Click event handler!!

Thank you so much in advance !!
 
Ad

Advertisements

V

ValliM

Hi Murad Jamal,

Here is the script codings which maintains the cursor position in the global
variable.The cursor position can be obtained by the calling function
GetCursorPos() in the click event of the TextBox.

globalCursorPos: It is used to maintain the current cursor position.

lastCursorPos: It is used to maintain the last cursor position.

Script:
var lastCursorPos;

var globalCursorPos=0;

function select1()

{


var selectedHtml=(document.selection.createRange()).htmlText;

if(selectedHtml!= "")

{

window.clipboardData.setData("Text",selectedHtml);

var clipboardData= window.clipboardData.getData("Text");

var sourceText=document.getElementById("Text1").value;

var
newText=sourceText.substring(0,lastCursorPos)+clipboardData+sourceText.substring(lastCursorPos);

document.getElementById("Text1").innerText=" ";

document.getElementById("Text1").innerText=newText;

}

}

function GetCursorPostion()

{

lastCursorPos=globalCursorPos;

globalCursorPos = getCursorPosition();

}

function getCursorPosition()

{

var obj = document.activeElement;

var cur = document.selection.createRange();

var pos = 0;

if (obj && cur)

{

var tr = obj.createTextRange();

if (tr)

{

while (cur.compareEndPoints("StartToStart", tr) > 0)

{

tr.moveStart("character", 1);

pos++;

}

return pos;

}

}

return -1;

}

HTML

<input id="Text1" style="position: relative; width: 672px; height: 90px;"
type="text" value="We are a leading provider of software components and
tools for the Microsoft .NET platform. - www.syncfusion.com"
onclick="GetCursorPostion();"/></div>

<input id="Button1" style="position: relative" type="button" value="button"
onclick="select1();" />&nbsp;

Let me know if u have any doubts.

Regards,

Valli



[www.syncfusion.com
http://www.syncfusion.com/faq/aspnet/default.aspx]
 
Ad

Advertisements

M

Mr. Murad Jamal

Thank you so much it was awesome !!

ValliM said:
Hi Murad Jamal,

Here is the script codings which maintains the cursor position in the global
variable.The cursor position can be obtained by the calling function
GetCursorPos() in the click event of the TextBox.

globalCursorPos: It is used to maintain the current cursor position.

lastCursorPos: It is used to maintain the last cursor position.

Script:
var lastCursorPos;

var globalCursorPos=0;

function select1()

{


var selectedHtml=(document.selection.createRange()).htmlText;

if(selectedHtml!= "")

{

window.clipboardData.setData("Text",selectedHtml);

var clipboardData= window.clipboardData.getData("Text");

var sourceText=document.getElementById("Text1").value;

var
newText=sourceText.substring(0,lastCursorPos)+clipboardData+sourceText.substring(lastCursorPos);

document.getElementById("Text1").innerText=" ";

document.getElementById("Text1").innerText=newText;

}

}

function GetCursorPostion()

{

lastCursorPos=globalCursorPos;

globalCursorPos = getCursorPosition();

}

function getCursorPosition()

{

var obj = document.activeElement;

var cur = document.selection.createRange();

var pos = 0;

if (obj && cur)

{

var tr = obj.createTextRange();

if (tr)

{

while (cur.compareEndPoints("StartToStart", tr) > 0)

{

tr.moveStart("character", 1);

pos++;

}

return pos;

}

}

return -1;

}

HTML

<input id="Text1" style="position: relative; width: 672px; height: 90px;"
type="text" value="We are a leading provider of software components and
tools for the Microsoft .NET platform. - www.syncfusion.com"
onclick="GetCursorPostion();"/></div>

<input id="Button1" style="position: relative" type="button" value="button"
onclick="select1();" />

Let me know if u have any doubts.

Regards,

Valli



[www.syncfusion.com
http://www.syncfusion.com/faq/aspnet/default.aspx]

Mr. Murad Jamal said:
hi guys,
I have a textbox & a button in an .aspx page, when I hit the button i want
a
selected text
to be copied to the clipboard AND paste it into the last cursor position
on
the textbox BOTH AT ONCE, that means, copying & pasting the text must
happen
together on the Button_Click event handler!

when we use javascript to store the selected text into a variable, we must
use this code snippet:

var selectedHtml=(document.selection.createRange()).htmlText;
if(selectedHtml!= "")
document.getElementById("TextBox3").focus();
sel = document.selection.createRange();
sel.text = selectedHtml;

now, the exact question becomes: how to copy the sel variable above [which
holdes the selected html text] to the clipboard and paste it into the LAST
CURSOR POSITION in the textbox on the Button-Click event handler!!

Thank you so much in advance !!
 

Top