[Seaside] Textarea and setSelectionRange()

Bany, Michel mbany at cincom.com
Mon Mar 16 07:26:26 UTC 2009


Support for this is available in Seaside 2.8.

See #setSelectionFrom:to: and WAStandardFiles>>miscJs.
See also #renderTextArea: for an example.

HTH,
Michel




> -----Original Message-----
> From: seaside-bounces at lists.squeakfoundation.org 
> [mailto:seaside-bounces at lists.squeakfoundation.org] On Behalf 
> Of Lukas Renggli
> Sent: samedi, 14. mars 2009 17:25
> To: Seaside - general discussion
> Subject: Re: [Seaside] Textarea and setSelectionRange()
> 
> > Has anyone here managed to call the setSelectionRange() 
> method against 
> > a textarea in Seaside?  I cannot seem to get this working.
> 
> Text selection is handled different in IE.
> 
> There is JavaScript code in the Pier-EditorEnh plugin at 
> <http://source.lukas-renggli.ch/pieraddons> that retrieves 
> and sets the text selection. As far as I know this code works 
> in all web
> browsers:
> 
> function getSelection(element) {
> 	if (document.selection && document.selection.createRange) {
> 		var range = document.selection.createRange();
> 		var stored = range.duplicate();
> 		stored.moveToElementText(element);
> 		stored.setEndPoint("EndToEnd", range);
> 		element.selectionStart = stored.text.length - 
> range.text.length;
> 		element.selectionEnd = element.selectionStart + 
> range.text.length;
> 	}
> 	return [element.selectionStart, element.selectionEnd]; }
> 
> function setSelection(element, range) {
> 	element.focus();
> 	element.selectionStart = range[0];
> 	element.selectionEnd = range[1];
> 	if (document.selection && document.selection.createRange) {
> 		var range = document.selection.createRange();
> 	 	range.moveStart("character", element.selectionStart);
> 	    	range.moveEnd("character", element.selectionEnd 
> - element.selectionStart);
> 		range.select();
> 	}
> }
> 
> Cheers,
> Lukas
> 
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> 


More information about the seaside mailing list