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

时间:2012-11-08 10:35:29

标签: javascript asp.net javascript-events

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

页面上有一个按钮,或者至少会有按钮,当按下时会将文本插入文本框中光标位于按下按钮的位置,不会丢失任何文本。光标的位置。

这是否可以在javascript中,记住我不知道任何javascript超出警报('');我明白当你点击按钮时光标位置可能会丢失。

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

由于

2 个答案:

答案 0 :(得分:3)

是的,这是可能的。 这是我们用来完成您正在寻找的功能

// 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作为第一个参数传递,并将文本作为第二个参数传递,然后将BOOM传递给它!

更新:一个实例:http://jsbin.com/owesik/1/edit

答案 1 :(得分:0)

请参阅this answer以获取一些指示。

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