You have to do something like caret-1, and do some logic to detect if the current line contains at least one character, and if it doesn't do a line++, something along those lines.
My suspicion (which I just confirmed) was that the caret isn't actually counted as a character in the textField, therefore when you do getLineIndexOfChar(caret) caret is always 1 number higher than the array getLineIndexOfChar is referencing to do the lookup. Taka On Fri, Apr 9, 2010 at 3:36 PM, Steven Sacks <[email protected]>wrote: > I'm trying to get the line index at the caret index in a multiline input > TextField, but it doesn't work. Any ideas why? > > > var tf:TextField; // this is my TextField > tf.addEventListener(Event.CHANGE, onChange); > function onChange(event:Event):void > { > var caret:int = tf.caretIndex; > var line:int = tf.getLineIndexOfChar(caret); > // line is always traces -1 > trace("caret=" + caret + ", line=" + line); > } > > I typed this: > > abcd > efgh > cekjk > wejk > rhwejk > rwehkj > werhkj > rehwk > rewkj > rehkj > rehkj > rewhkj > rewhkjgiorehj > fdkjs > cdshkjfhkj > > Output is this: > > caret=0, line=-1 > caret=1, line=-1 > caret=2, line=-1 > caret=3, line=-1 > caret=4, line=-1 > caret=5, line=-1 > caret=6, line=-1 > caret=7, line=-1 > caret=8, line=-1 > caret=9, line=-1 > caret=10, line=-1 > caret=11, line=-1 > caret=12, line=-1 > caret=13, line=-1 > caret=14, line=-1 > caret=15, line=-1 > caret=16, line=-1 > caret=17, line=-1 > caret=18, line=-1 > caret=19, line=-1 > caret=20, line=-1 > caret=21, line=-1 > caret=22, line=-1 > caret=23, line=-1 > caret=24, line=-1 > caret=25, line=-1 > caret=26, line=-1 > caret=27, line=-1 > caret=28, line=-1 > caret=29, line=-1 > caret=30, line=-1 > caret=31, line=-1 > caret=32, line=-1 > caret=33, line=-1 > caret=34, line=-1 > caret=35, line=-1 > caret=36, line=-1 > caret=37, line=-1 > caret=38, line=-1 > caret=39, line=-1 > caret=40, line=-1 > caret=41, line=-1 > caret=42, line=-1 > caret=43, line=-1 > caret=44, line=-1 > caret=45, line=-1 > caret=46, line=-1 > caret=47, line=-1 > caret=48, line=-1 > caret=49, line=-1 > caret=50, line=-1 > caret=51, line=-1 > caret=52, line=-1 > caret=53, line=-1 > caret=54, line=-1 > caret=55, line=-1 > caret=56, line=-1 > caret=57, line=-1 > caret=58, line=-1 > caret=59, line=-1 > caret=60, line=-1 > caret=61, line=-1 > caret=62, line=-1 > caret=63, line=-1 > caret=64, line=-1 > caret=65, line=-1 > caret=66, line=-1 > caret=67, line=-1 > caret=68, line=-1 > caret=69, line=-1 > caret=70, line=-1 > caret=71, line=-1 > caret=72, line=-1 > caret=73, line=-1 > caret=74, line=-1 > caret=75, line=-1 > caret=76, line=-1 > caret=77, line=-1 > caret=78, line=-1 > caret=79, line=-1 > caret=80, line=-1 > caret=81, line=-1 > caret=82, line=-1 > caret=83, line=-1 > caret=84, line=-1 > caret=85, line=-1 > caret=86, line=-1 > caret=87, line=-1 > caret=88, line=-1 > caret=89, line=-1 > caret=90, line=-1 > caret=91, line=-1 > caret=92, line=-1 > caret=93, line=-1 > caret=94, line=-1 > caret=95, line=-1 > caret=96, line=-1 > caret=97, line=-1 > caret=98, line=-1 > caret=99, line=-1 > caret=100, line=-1 > caret=101, line=-1 > caret=102, line=-1 > caret=103, line=-1 > caret=104, line=-1 > _______________________________________________ > Flashcoders mailing list > [email protected] > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > _______________________________________________ Flashcoders mailing list [email protected] http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

