我正在使用asp.net进行开发,并且在屏幕上有一个文本框,光标位于应该添加某些文本的位置。如何使用JavaScript更新文本框内光标位置处的文本
页面上存在一个按钮,或者至少它会这样做,当按下按钮时将文本插入到光标位于按钮被按下的位置的文本框中,任何文本都不应丢失,只有在光标的位置。
这是可能的在JavaScript中,记住我不知道任何JavaScript超出警报('');当你点击按钮时,我确实明白光标位置可能会丢失。
实际上会有7个小按钮,每个按钮插入一个不同的字符串。
谢谢
我正在使用asp.net进行开发,并且在屏幕上有一个文本框,光标位于应该添加某些文本的位置。如何使用JavaScript更新文本框内光标位置处的文本
页面上存在一个按钮,或者至少它会这样做,当按下按钮时将文本插入到光标位于按钮被按下的位置的文本框中,任何文本都不应丢失,只有在光标的位置。
这是可能的在JavaScript中,记住我不知道任何JavaScript超出警报('');当你点击按钮时,我确实明白光标位置可能会丢失。
实际上会有7个小按钮,每个按钮插入一个不同的字符串。
谢谢
是的,这是可能的。 这是我们使用的是做正是你需要做的是通过你的文本/ textarea的作为第一个参数,并通过文本作为第二个参数的函数,你在找什么
// 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;
}
}
,和BOOM,它的工作!
更新:一个活生生的例子:http://jsbin.com/owesik/1/edit
所以myField基本上是我想要插入值的控件的ClientID。在ASP.NET中,我有ClientID和ID,ClientID是html控件的客户端ID。我会举这个例子去谢谢 –
我想为你做一个例子,坚持下去。 –
不用了,我现在有一个运行的例子。我的疏忽是文本框在GridView中,所以在运行时我无法将一个按钮与用户所在的文本框相关联。更有可能的是,我需要找到在用户按下按钮时焦点集中的控件,然后得到该ID并打电话给你的功能,谢谢:) –
请参阅this answer几个指针。
短版是“是的,这是可能的,至少在最近的浏览器中”。但是,您需要自学一些JavaScript才能使其工作。我个人推荐这个online book(并且我绝不隶属于作者)。
我不认为这是可能的,可以将数据添加或prepent数据,我可能是错的。 – freebird
这被称为WYSIWYG .... –
虽然有一个大的文本框可以很好,它可以将html或rtf写回数据库,并允许插入图像和粗体文本等,这绝不是要求。要求实际上如上所述。可以在游标位置插入文本的页面上的单独控件。 –