怎样在textarea文本域判断回车按下,就在当前光标位置写入一个字符

时间:2022-12-27 10:31:11
例如:<textarea name="instroduce" cols=60 rows=10 type="text"  onkeydown="if(event.keyCode==13)form1.instroduce.value='<br>'"></textarea>

上面那个是整个文本域都变成了br,我需要在当前光标位置追加一个<br> 怎样做?

请高手指教^^

7 个解决方案

#1


<textarea name="instroduce" cols=60 rows=10 type="text"  onkeydown="if(event.keyCode==13) form1.instroduce.value+='<br>'"></textarea>

#2


我要在光标当前位置加入,上面那个是在末尾加入哦

#3


你按回车了,肯定的换行了

#4


但是你写入数据库是没换行的啊,你在文本域回车编辑,写入数据库都变成一行了,网上的字符串replace转换也不行,究竟在文本域按下回车,生成的是什么字符?

#5


没人回答 吗

#6


<script>
function go(){

oTextbox=document.forms[0].ntxt;
oTextbox.focus();
if(document.selection==null){
var iStart = oTextbox.selectionStart;
var iEnd   = oTextbox.selectionEnd;
sText=oTextbox.value.substring(iStart, iEnd)
       oTextbox.value = oTextbox.value.substring(0, iStart) + sText+"加文字" + oTextbox.value.substring(iEnd, oTextbox.value.length); }
else
{
document.selection.createRange().text+="加文字"
}
}
</script>
这个是可以在两种浏览器下都添加"加文字"的一个函数
在IE中 主要是调用document.selection.createRange()方法
而mozilla中主要是通过selectionStart方法了

#7


这个问题的解决的思路有问题  用js的方法让textarea里面有个<br>是不正确的思路  这样做不好  让访问者看到文本框里面出现<br>?  他不会再删了去?  那样就麻烦多了



最好的办法是存的时候进行转化  用asp里面的replace方法替换字符串 替换\r\n为<br />





'str为你存的textarea里面的值
replace(str,"\r\n","<br />")

#1


<textarea name="instroduce" cols=60 rows=10 type="text"  onkeydown="if(event.keyCode==13) form1.instroduce.value+='<br>'"></textarea>

#2


我要在光标当前位置加入,上面那个是在末尾加入哦

#3


你按回车了,肯定的换行了

#4


但是你写入数据库是没换行的啊,你在文本域回车编辑,写入数据库都变成一行了,网上的字符串replace转换也不行,究竟在文本域按下回车,生成的是什么字符?

#5


没人回答 吗

#6


<script>
function go(){

oTextbox=document.forms[0].ntxt;
oTextbox.focus();
if(document.selection==null){
var iStart = oTextbox.selectionStart;
var iEnd   = oTextbox.selectionEnd;
sText=oTextbox.value.substring(iStart, iEnd)
       oTextbox.value = oTextbox.value.substring(0, iStart) + sText+"加文字" + oTextbox.value.substring(iEnd, oTextbox.value.length); }
else
{
document.selection.createRange().text+="加文字"
}
}
</script>
这个是可以在两种浏览器下都添加"加文字"的一个函数
在IE中 主要是调用document.selection.createRange()方法
而mozilla中主要是通过selectionStart方法了

#7


这个问题的解决的思路有问题  用js的方法让textarea里面有个<br>是不正确的思路  这样做不好  让访问者看到文本框里面出现<br>?  他不会再删了去?  那样就麻烦多了



最好的办法是存的时候进行转化  用asp里面的replace方法替换字符串 替换\r\n为<br />





'str为你存的textarea里面的值
replace(str,"\r\n","<br />")