8.5. Making a User Input Field
Problem
You want to create a user input field to allow the user to enter text.
Solution
Set the text field’s type
property to “input”. Alternatively,
you can create and use a custom createInputTextField(
) method.
Discussion
When a text field is created using createTextField(
), it defaults to being a dynamic field. This means that
it can be controlled with ActionScript but the user cannot input text
into it. To enable the field for user input, set the
type property to
“input”, like so:
myTextField.type = "input";
Though it isn’t a requirement, input fields generally also have a border and a background; otherwise, the user may have difficulty finding and selecting the field so as to enter a value into it:
myTextField.border = true; myTextField.background = true;
For a user to be able to input text, the field’s
selectable property must be
true, which is the default. You do not need to
explicitly set the selectable property to
true unless you previously set it to
false.
As you can see, several steps are required to successfully make an
input text field using ActionScript. While none of them are
particularly difficult, they can be a bit tedious when you are
creating multiple input text fields. Therefore, it is convenient to
create a custom createInputTextField( ) method
for the MovieClip class that takes care of these
steps with a single method call. You should add the following code to
a TextField.as file in your Flash
Include directory for easy inclusion in ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access