Home All Groups Group Topic Archive Search About

Copy & paste with a command button?

Author
13 Jun 2006 3:09 PM
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 !!

Author
20 Jun 2006 9:14 AM
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]

Show quoteHide quote
"Mr. Murad Jamal" <MrMuradJa***@discussions.microsoft.com> wrote in message
news:84C97777-BD42-4CF8-B8E2-81DDFE81EBDB@microsoft.com...
> 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 !!
Author
17 Jul 2006 7:35 AM
Mr. Murad Jamal
Thank you so much it was awesome !!

Show quoteHide quote
"ValliM" wrote:

> 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" <MrMuradJa***@discussions.microsoft.com> wrote in message
> news:84C97777-BD42-4CF8-B8E2-81DDFE81EBDB@microsoft.com...
> > 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 !!
>
>
>