如何使用javascript插入字符?

前端之家收集整理的这篇文章主要介绍了如何使用javascript插入字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在文本框中的插入符中插入一些特殊字符,使用 javascript上的按钮.如何才能做到这一点?

该脚本需要找到活动的文本框,并将字符插入该文本框中的插入符.该脚本还需要在IE和Firefox中工作.

编辑:在以前活动的文本框中插入“last”字符也是可以的.

解决方法

我认为杰森·科恩是错误的.当焦点丢失时,插入位置被保留.

[编辑:添加了我原本没有的FireFox代码]

[编辑:添加代码以确定最近的活动文本框.]

首先,您可以使用每个文本框的onBlur事件将变量设置为“this”,以便始终知道最近的活动文本框.

然后,有一种IE方法获取也可以在Opera中使用的光标位置,并且在Firefox中更容易.

在IE中,基本概念是使用document.selection对象并将一些文本放入选择.然后,使用indexOf,您可以获取添加的文本的位置.

在FireFox中,有一个名为selectionStart的方法可以给你光标的位置.

一旦你有光标位置,你将覆盖整个text.value

光标前面的文本位置将要在光标位置后插入文本的文本

以下是IE和FireFox的独立链接的示例.您可以使用您最喜欢的浏览器检测方法来确定要运行的代码.

<html><head></head><body>

<script language="JavaScript">
<!--

var lasttext;

function doinsert_ie() {
    var oldtext = lasttext.value;
    var marker = "##MARKER##";
    lasttext.focus();
    var sel = document.selection.createRange();
    sel.text = marker;
    var tmptext = lasttext.value;
    var curpos = tmptext.indexOf(marker);
    pretext = oldtext.substring(0,curpos);
    posttest = oldtext.substring(curpos,oldtext.length);
    lasttext.value = pretext + "|" + posttest;
}

function doinsert_ff() {
    var oldtext = lasttext.value;
    var curpos = lasttext.selectionStart;
    pretext = oldtext.substring(0,oldtext.length);
    lasttext.value = pretext + "|" + posttest;
}

-->
</script>


<form name="testform">
<input type="text" name="testtext1" onBlur="lasttext=this;">
<input type="text" name="testtext2" onBlur="lasttext=this;">
<input type="text" name="testtext3" onBlur="lasttext=this;">

</form>
<a href="#" onClick="doinsert_ie();">Insert IE</a>
<br>
<a href="#" onClick="doinsert_ff();">Insert FF</a>
</body></html>

这也将与文本区域一起使用.我不知道如何重新定位光标,使其停留在插入点.

猜你在找的JavaScript相关文章