我有一个文本框和一个链接按钮.当我写一些文本,然后选择其中一些文本,然后单击链接按钮,文本框中的选定文本必须与消息框一起显示.
我该怎么做?
当我单击下面文本框的提交按钮时,消息框必须显示Lorem ipsum.因为在该地区选择了"Lorem ipsum".
如果我从页面中选择任何文本并单击提交按钮,它就可以正常工作,但如果我将文本写入文本框并进行创建,则不然.因为当我点击另一个空格时,文本框的选择被取消.
现在的问题是,当我从文本框中选择文本并单击任何其他控件或空格时,必须仍然选择所选文本.
怎么做?
我正在开发一个浏览器内的编辑器textarea.我已经开始寻找有关处理textarea选择的一些信息,并发现了这个jQuery插件,fieldSelection做了一些简单的操作.
但是,它没有解释发生了什么.
我想更多地了解JavaScript中的textarea选择,最好是描述DOM3之前和DOM30之后的场景.
我正在寻找一个简单的函数(javascript/jquery)来检查textarea的任何内容是否被选中或突出显示...该函数需要返回true或false.
谢谢 :)
我想在HTML页面上获取选择文本.
我使用下面的代码,并window.getSelection()在textarea接缝不能在Firefox中工作,但在谷歌浏览器中工作正常.
这是一个示例:http: //jsfiddle.net/AVLCY/
HTML:
<div>Text in div</div>
<textarea>Hello textarea</textarea>
<div id='debug'></div>
Run Code Online (Sandbox Code Playgroud)
JS:
$(document).on('mouseup','body',function(){
$("#debug").html("You select '" + getSelectionText() + "'");
});
function getSelectionText() {
if (window.getSelection) {
try {
// return "" in firefox
return window.getSelection().toString();
} catch (e) {
console.log('Cant get selection text')
}
}
// For IE
if (document.selection && document.selection.type != "Control") {
return document.selection.createRange().text;
}
}
Run Code Online (Sandbox Code Playgroud) 我试图在textarea中检索/找到选择的起点和终点.这是我的代码在Mozilla和Chrome中工作正常但在IE9中不起作用
<script type="txt/javascript">
function update(o) {
var t = o.value, s = getSelectionStart(o), e = getSelectionEnd(o);
alert("start :" + s + " End :" + e);
}
function getSelectionStart(o) {
if (o.createTextRange) {
var r = document.selection.createRange().duplicate()
rse = r.text.length;
r.moveEnd('character', o.value.length)
if (r.text == '') return o.value.length
return o.value.lastIndexOf(r.text)
} else return o.selectionStart
}
function getSelectionEnd(o) {
if (o.createTextRange) {
var r = document.selection.createRang;e().duplicate()
r.moveStart('character', -o.value.length)
return r.text.length
} else return o.selectionEnd
}
</script>
<textarea id ="text" rows=10 cols="50" …Run Code Online (Sandbox Code Playgroud) 我只是尝试用另一个文本替换输入字段(例如文本区域)中的选定文本。例如,如果我选择输入字段内的一部分文本并单击 Button CENTER,则所选文本应包含在<center></center>.
我发现这个2009 年的“解决方案”似乎已经过时,我在 Chrome 和 Firefox 上尝试了它,但我得到了不支持我的浏览器的信息。
有没有另一种方法来实现这一目标?它应该至少适用于 Firefox 和 Chrome。
所以我想在textarea中选择文本.val()返回整个文本,所以没有用.
我试图从元素替换特定的突出显示(标记)文本.
这是我到目前为止获得突出显示的文本的方式:
var markArea = $('.ElementText textarea').get(0);
var text = markArea.value.substring(markArea.selectionStart, markArea.selectionEnd);Run Code Online (Sandbox Code Playgroud)
因此,如果我在textarea中有这样的东西:"苹果香蕉苹果橙"并标记第三个单词(苹果)我想要在textarea中完全替换我标记的没有任何其他出现的"apple".
有没有办法指定代码应该在字符串中查找替换的起始区域和结束区域?
我需要使用javascript制作文本框粗体/斜体/下划线的选定文本.为此,我使用以下代码.
<img src="~/images/Bold" alt="Bold" onclick="changeFont('TextBox1','b');" />
<img src="~/images/Italic" alt="Italic" onclick="changeFont('TextBox1','i');" />
<img src="~/images/Underline" alt="Underline" onclick="changeFont('TextBox1','u');" />
Run Code Online (Sandbox Code Playgroud)
<script type="text/javascript" language="javascript">
function changeFont(txt, change) {
if (change == 'b') {
if (document.getElementById(txt).style.fontWeight == 'bold')
document.getElementById(txt).style.fontWeight = 'normal';
else
document.getElementById(txt).style.fontWeight = 'bold';
}
else if (change == 'i') {
if (document.getElementById(txt).style.fontStyle == 'italic')
document.getElementById(txt).style.fontStyle = 'normal';
else
document.getElementById(txt).style.fontStyle = 'italic';
}
else {
if (document.getElementById(txt).style.textDecoration == 'underline')
document.getElementById(txt).style.textDecoration = 'none';
else
document.getElementById(txt).style.textDecoration = 'underline';
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
但是这里的问题是,当我点击粗体图像时,它会将整个文本变为粗体而不是所选文本.它也不适用于其他两个图像.
保存文本框的文本时,即使尝试使用,我也无法获取包含html标签的文本
document.getElementById('TextBox1').innerHTML;
Run Code Online (Sandbox Code Playgroud)
我只能获得文本框的值.
有没有办法使用javascript或C#保存和检索相同的内容
在此先感谢SC
javascript ×10
jquery ×5
textarea ×3
firefox ×2
bold ×1
c# ×1
html ×1
replace ×1
selectedtext ×1
selection ×1