- From: Biju <bijumaillist@gmail.com>
- Date: Tue, 11 May 2010 23:47:42 -0400
On Mon, May 10, 2010 at 11:50 AM, Daniel Glazman <daniel.glazman at disruptive-innovations.com> wrote: > Le 10/05/10 07:11, Biju a ?crit : > >> Can we have a new DOM property textarea.selectionText >> which can be used to set/get selection text of a TEXTAREA/INPUT type=text. >> >> Current method is complicated and varies between IE and Firefox > > Oh!!! As a read/write property, right? Yes, But Ojan suggested another option, I liked that too. Both have advantages Option 1 (textobj.selectionText) advantages * No need for web developer to provide selection start/end * Automatically select the newly inserted text, (as most time that is what you want) * No need for web developer to calculate selection start/end for setting it after text insert * preserve scroll * Has both Getter and Setter Option 2 (textobj.setRangeText(start, end, text)); advantages * Independent of selection, web developer can change text at any range with out affecting selection * Web developer has more options with it. * preserve scroll So I want to merge both suggestion, with a new signature, also trying to reduce coding for web developer "less code less bug" textobj.setRangeText(newtext, start, end, cursorpos) parameters: newtext - optional parameter - new text that will replace existing - if missing/null/undefined/NaN then default to "" start - optional parameter - starting position of the original textobj text that need to be replaced - if missing/null/undefined/NaN then default to textobj.selectionStart - negative value make start position from last character in the text content end - optional parameter - ending position of the original textobj text that need to be replaced - if missing/null/undefined/NaN then default to textobj.selectionEnd - negative value make end position from last character cursorpos - optional parameter - if missing/null/undefined/NaN then default to 0 - what should happen to cursor/selection after text insert, its values are - - 0 - select the newly inserted text - - 1 - place cursor at beginning of inserted text - - 2 - place cursor at the end of inserted text - - 3 - keep selection unaffected * issue, when value is 3 what should we do when setRangeText is replacing text which has some parts selected and some other parts unselected so if somebody want replace selection text it is just textobj.setRangeText(newtext); which is almost same as my original proposal, and textobj.setRangeText(); will blank a selection We could also add a getter method, also with optional parameters textobj.getRangeText(start, end) so, textobj.getRangeText() gives current selection textobj.getRangeText(0) gives from start of text to current selection end textobj.getRangeText(null, -1) gives from current selection start to end of text
Received on Tuesday, 11 May 2010 20:47:42 UTC