##--如何用对话框向一段文字中间插入文字--##
比如我的TextBox中有文本
abcdefg
然后我把光标定位到cd中间
然后按一个按钮就弹出一个InputBox对话框
输入文本1234后按确定
就把1234插入到TextBox当前光标处好
abc1234defg
谢谢
问题点数:50、回复次数:9Top
1 楼dxef(丁学)回复于 2006-03-04 12:18:39 得分 5
http://community.csdn.net/Expert/TopicView3.asp?id=4152807
这个帖子应该对你有帮助
Top
2 楼dxef(丁学)回复于 2006-03-04 12:25:08 得分 5
TextBox.SelectionStart 可以获取当前光标所在的位置,在这个位置把textbox的内容拆分,加上你原来的重组一下就OK了Top
3 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2006-03-04 12:37:46 得分 40
function storeCaret (textEl)
{
if (textEl.createTextRange)
textEl.caretPos = document.selection.createRange().duplicate();
}
function insertAtCaret (textEl, text)
{
if (textEl.createTextRange && textEl.caretPos)
{
var caretPos = textEl.caretPos;
caretPos.text =caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?text + ' ' : text;
} else
textEl.value = text;
}
function deleteAtCaret (textEl)
{
if (textEl.createTextRange && textEl.caretPos)
{
var caretPos = textEl.caretPos;
document.selection.clear();
}
}
function CheckSelectData()
{
if (document.all.txtMethod.value == "")
{
alert("没有输入表达式,请输入!或者关闭页面!");
document.all.txtMethod.focus();
return false;
}
return true;
}Top
4 楼fc10731(---)回复于 2006-03-04 13:17:16 得分 0
楼上的可不可以具体点Top
5 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2006-03-04 13:37:31 得分 0
this.txtMethod.Attributes.Add("onselect","javascript:storeCaret(this);");
this.txtMethod.Attributes.Add("onclick","javascript:storeCaret(this);");
this.txtMethod.Attributes.Add("onkeyup","javascript:storeCaret(this);");Top
6 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2006-03-04 13:37:43 得分 0
this.Button1.Attributes.Add("onclick","javascript:insertAtCaret(document.all.txtMethod, document.all.Button1.value);return false;");Top
7 楼fc10731(---)回复于 2006-03-04 13:53:40 得分 0
可以实现我的功能了
但你插入的时候是
Button1.value
我要的是弹出一个对话框 插入的是对话框的内容Top
8 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2006-03-04 14:05:36 得分 0
prompt("input some thing!","")
this.Button1.Attributes.Add("onclick","javascript:insertAtCaret(document.all.txtMethod, prompt('input some thing!',''));return false;");
Top
9 楼fc10731(---)回复于 2006-03-04 15:40:36 得分 0
谢谢Top




