I'm having some difficulties getting the script below to work with my text editor. I'm not sure what is wrong but selectionStart and selectionEnd are returning as undefined.
Its suppose to get highlighted text in an editable iframe and then replace it.
var textarea = document.getElementById('editor').contentWindow.document.body.innerHTML;
if (document.selection)
{
textarea.focus();
var sel = document.selection.createRange();
alert(sel.text);
sel.text = '<b>' + sel.text + '</b>';
} else {
var len = textarea.length;
alert(len);
var start = textarea.selectionStart;
alert(start);
var end = textarea.selectionEnd;
alert(end);
var sel = textarea.substring(start, end);
alert(sel);
var replaced = '<b>' + sel + '<b>';
textarea = textarea.substring(0,start) + replaced + textarea.substring(end,len);
}
I'm having some difficulties getting the script below to work with my text editor. I'm not sure what is wrong but selectionStart and selectionEnd are returning as undefined.
Its suppose to get highlighted text in an editable iframe and then replace it.
var textarea = document.getElementById('editor').contentWindow.document.body.innerHTML;
if (document.selection)
{
textarea.focus();
var sel = document.selection.createRange();
alert(sel.text);
sel.text = '<b>' + sel.text + '</b>';
} else {
var len = textarea.length;
alert(len);
var start = textarea.selectionStart;
alert(start);
var end = textarea.selectionEnd;
alert(end);
var sel = textarea.substring(start, end);
alert(sel);
var replaced = '<b>' + sel + '<b>';
textarea = textarea.substring(0,start) + replaced + textarea.substring(end,len);
}
Share
Improve this question
edited Nov 21, 2022 at 7:52
sideshowbarker♦
88.1k29 gold badges215 silver badges211 bronze badges
asked Aug 22, 2010 at 21:26
CoryCory
7423 gold badges7 silver badges22 bronze badges
1 Answer
Reset to default 15The reason selectionStart
and selectionEnd
are undefined is that your textarea
variable contains a string, not a reference to a <textarea>
element. You seem to be aware of this since elsewhere you're calling string methods such as substring
. Just to be clear, strings have no selectionStart
and selectionEnd
properties; the objects that do are textareas and text inputs.