Modificando un textarea desde javascript
Posted on August 28th, 2007 by Christian López EspÃnola
Para modificar en Javascript el contenido de un textarea, podemos usar las propiedades selectionStart y selectionEnd que tenemos disponibles en Firefox y Opera.
Sin embargo, éstas no están disponibles en IE, por lo que debemos utilizar un feo truco para añadirlas.
Ahà va el código:
function UglyFixForSelectionStartAndSelectionEndForIE(id) {
var element = $get(id);
if(document.selection) {
// The current selection
var range = document.selection.createRange();
// We'll use this as a 'dummy'
var stored_range = range.duplicate();
// Select all text
stored_range.moveToElementText( element );
// Now move 'dummy' end point to end point of original range
stored_range.setEndPoint('EndToEnd', range );
// Now we can calculate start and end points
element.selectionStart = stored_range.text.length - range.text.length;
element.selectionEnd = element.selectionStart + range.text.length;
}
}
Y si estamos usando el ASP.NET Ajax Control Toolkit, bastará con utilizar:
var element = this.get_element();
if (Sys.Browser.agent === Sys.Browser.InternetExplorer)
UglyFixForSelectionStartAndSelectionEndForIE(element.id);
var start = element.selectionStart;
var end = element.selectionEnd;
var length = element.textLength;
La función es original de Stickblog
Filed under: Javascript | Tagged: AJAX, ASP.NET, IE, Javascript, selection, textarea









El código se ve fatal…
nice one.. Thanks..
[…]its the best post from you, thanks a lot[…]