Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript更新文本框中光标位置的文本_Javascript_Asp.net_Javascript Events - Fatal编程技术网

如何使用javascript更新文本框中光标位置的文本

如何使用javascript更新文本框中光标位置的文本,javascript,asp.net,javascript-events,Javascript,Asp.net,Javascript Events,我在asp.net中开发,屏幕上有一个文本框,光标位于应该添加一些文本的位置 页面上存在一个按钮,或者至少它会这样做,当按下按钮时,将在光标所在位置的文本框中插入文本,在按下按钮时,不应丢失任何文本,只应在光标位置添加一个关键字 这是否可以在javascript中使用,记住我不知道任何超出alert(“”)的javascript;我知道当你点击按钮时,光标的位置可能会丢失 实际上将有七个小按钮,每个按钮插入一个不同的字符串 谢谢请参阅以获取一些提示 简短的版本是“是的,这是可能的,至少在最近的浏

我在asp.net中开发,屏幕上有一个文本框,光标位于应该添加一些文本的位置

页面上存在一个按钮,或者至少它会这样做,当按下按钮时,将在光标所在位置的文本框中插入文本,在按下按钮时,不应丢失任何文本,只应在光标位置添加一个关键字

这是否可以在javascript中使用,记住我不知道任何超出alert(“”)的javascript;我知道当你点击按钮时,光标的位置可能会丢失

实际上将有七个小按钮,每个按钮插入一个不同的字符串

谢谢

请参阅以获取一些提示

简短的版本是“是的,这是可能的,至少在最近的浏览器中是这样”。但是,您需要自学一些JavaScript来实现这一点。我个人推荐这一点(我与作者没有任何关系)。

是的,这是可能的。 这是一个函数,我们正使用它来完成您正在寻找的任务

// myfield: the DOM element that you need to interact with
// myValue: the text to be instered
function insertAtCursor(myField, myValue) {
    //IE support
    if (document.selection) {
        myField.focus();
        sel = document.selection.createRange();
        sel.text = myValue;
    }
    //MOZILLA/NETSCAPE support
    else if (myField.selectionStart || myField.selectionStart == '0') {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos)
        + myValue
        + myField.value.substring(endPos, myField.value.length);
    } else {
        myField.value += myValue;
    }
}
您只需将textbox/textarea作为第一个参数传递,并将文本作为第二个参数传递,然后砰的一声,它就开始工作了


更新:一个活生生的例子:

我认为这是不可能的,您可以添加数据或准备数据,我可能错了。这被称为所见即所得…虽然有一个大的文本框可以将html或rtf写回数据库,并允许插入图像和加粗文本等,但这绝对不是必需的。该要求实际上如上所述。页面上的一个单独控件,可以在游标位置插入文本。因此myField基本上是我要插入值的控件的ClientID。在ASP.NET中,我有ClientID和ID,ClientID是html控件的客户端ID。我给你举个例子,谢谢,我想给你举个例子,等等,不,谢谢,我现在有一个正在运行的例子。我的疏忽是文本框位于GridView中,因此在运行时,我无法将一个按钮与用户所在的文本框相关联。更可能的情况是,我需要在用户按下按钮时找到具有焦点的控件,然后获取该id并调用您的函数,该函数确实有效。谢谢:)关于您的新需求,您可以使用单击的按钮位置检测目标文本框,并假设目标文本框位于同一行中。这对您的场景有效吗?