我正在使用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寫回數據庫,並允許插入圖像和粗體文本等,這絕不是要求。要求實際上如上所述。可以在遊標位置插入文本的頁面上的單獨控件。 –