Recipe 8.27 Responding to User Text Entry

8.27.1 Problem

You want to perform a task when the content of a text field is modified by user input.

8.27.2 Solution

Assign a function definition to the text field's onChanged( ) event handler method. Alternatively, you can use a listener object with a defined onChanged( ) method and register it with the text field using addListener( ).

8.27.3 Discussion

You can specify actions to be performed each time the content of a text field is changed by user input, whether that change be deleting or cutting characters, typing in characters, or pasting characters. You can define the text field's onChanged( ) event handler method:

myTextField.onChanged = function (  ) {   trace("the value has been modified"); };

When a user makes any change to the value of an input text field with an onChanged( ) handler defined, the actions defined in the onChanged( ) handler are executed.

You can also define an onChanged( ) method for a listener object (or listener objects). If multiple objects need to be updated when a change occurs in the input text field's value, you should register those objects as listeners. You should define an onChanged( ) method for the listener object and then register the listener with the text field's addListener( ) method. The addListener( ) method takes a reference to the listener object. For example:

myListener = new Object(  ); myListener.onChanged = function (  ) {   // Actions go here. }; myTextField.addListener(myListener);

You can use addListener( ) to register as many listener objects as you need. In this way, each listener object handles only the functionality that is applicable to it.

If you want to unregister a listener object, call the removeListener( ) method of the text field at any time, passing it a reference to the listener object to be removed:

myTextField.removeListener(myListener);

Whether using the event handler method or using a listener object, attempt to keep your onChanged( ) definition as streamlined as possible. Remember that the method is invoked every time the user types a character into the text field, so if you try to do too much at once, you can put unnecessary strain on your Flash movie.

8.27.4 See Also

Recipe 8.15



ActionScript Cookbook
ActionScript 3.0 Cookbook: Solutions for Flash Platform and Flex Application Developers
ISBN: 0596526954
EAN: 2147483647
Year: 2005
Pages: 425

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net