javascript的textarea问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:41:00
在textarea里输入内容后,当我点击某一图片时调用JS函数add()显示出图片名,但是图片名没有在textarea原有内容的后面显示,而是在原有内容的最前面显示,我把JS代码写出来,请朋友帮忙解决。
function add(x)
{
var strUrl=window.location.href;
var arrUrl=strUrl.split("/");
var strPage=arrUrl[arrUrl.length-1];
var textBox;
strPage=strPage.split("?");
if(strPage[0] == 'thread.php')
{
textBox = "textbody";
}
else
{
textBox = "body_r";
}
var textBox = document.getElementById(textBox);
textBox.focus();
if(document.selection)
document.selection.createRange().text = x;
else
textBox.value = textBox.value.substr(0, textBox.selectionStart) + x + textBox.value.substr(oselectionEnd);
}

我想是出问题的是这段代码,如下:
var textBox = document.getElementById(textBox);
textBox.focus();
if(document.selection)
document.selection.createRange().text = x;
else
textBox.value = tex

textBox.focus(); 方法执行后,textarea获取焦点,且焦点在textarea的第一个字符位置处,所以你的图片路径就当然在文本前了。你在给textarea写入文本前,可以先取出它的原文本,再追加在写入值的后面,就OK啦。代码自己搞吧,就改一两句代码。自己试出来,比别人写的记得深多啦...