日期:2014-05-18  浏览次数:20339 次

Web窗体 vb.net 如何获取textbox的光标位置并在光标位置赋值
如题
在web窗体内 如何获取到textbox的光标位置?

然后在光标位置的后面赋值。

VB.net代码

求高手为小弟解答~谢谢

------解决方案--------------------
这个不是用vb.net做得 web窗体需要 用js做。要考虑不同浏览器的兼容性。代码如下

<script type="text/javascript"> 
function setCaret(textObj){ 
if(textObj.createTextRange){ 
textObj.caretPos=document.selection.createRange().duplicate(); 



function insertAtCaret(textObj,textFeildValue){ 
if(document.all){ 
if(textObj.createTextRange&&textObj.caretPos){ 
var caretPos=textObj.caretPos; 
caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==''?textFeildValue+'':textFeildValue; 
}else { 
textObj.value=textFeildValue; 

}else { 
if(textObj.setSelectionRange){ 
var rangeStart=textObj.selectionStart; 
var rangeEnd=textObj.selectionEnd; 
var tempStr1=textObj.value.substring(0,rangeStart); 
var tempStr2=textObj.value.substring(rangeEnd); 
textObj.value=tempStr1+textFeildValue+tempStr2; 
}else { 
alert("This version of Mozilla based browser does not support setSelectionRange"); 



</script> 

<form id="form1" action="" onsubmit="" method="post" enctype="text/plain"> 
<p> 
<textarea name="tarea" rows="" cols="" style="width:300px;height:120px;" onselect="setCaret(this);" onclick="setCaret(this);" onkeyup="setCaret(this);"> 
Dnew.cn Dnew.cn 
</textarea> 
<br/><br/> 
<input type="text" name="textfield" style="width:220px;" value="插入FireFox"/> 
<br/> 
<input type="button" value="插入" onclick="insertAtCaret(this.form.tarea,this.form.textfield.value);"/> 
</p> 
</form> 
详细出处参考:http://www.jb51.net/article/11140.htm