Грабля inputField
декабря 16, 2007
Обнаружил баг.
Если свойство multiline текстового поля типа input равно true, то даже если поле пустое, проверка на длину текста показывает 1. В поле сидит паразитный символ с кодом 13 (ввод). При проверке формы на заполненные поля – этот баг играет злую шутку. Визуально поле пустое, но для кода – оно заполнено.
ВАЖНО! Этот баг проявляется, если multiline задано в среде разработки Flash IDE. Программно заданное свойство лишено этого парзитного явления.
______
UPD: По наблюдениям @st@l@vist@ – Важную роль в этом баге играет еще и AutoKern. Если он отключен, то даже при multiline баг не прорявляется.
То есть AutoKern+multiline в поле ввода = баг с длинной текста. Более того, если в поле введен ОДИН символ – длина текста будет равной уже двум. Так что баг ко всему еще имеет и свою логику ).
Popularity: 4% [?]

4 комментария
1. @st@l@vist@ | декабря 17, 2007 at 10:54
А какой версии Flash IDE, какие-то не указанные выше особенности?
У меня в 7,8,9 на всех версиях AS и tf.length и tf.text.length дывает 0
2. murejib | декабря 17, 2007 at 14:13
@st@l@vist@, я впервые это заметил только на версии CS3. Как раз, когда поле создано програмно – все работает как задумано. Проблема с инпут полями, созданными вручную, которым задано multiline.
Хотя в моем случае нужны были именно однострочные поля, так что проблема решилась. Но факт остался.
3. @st@l@vist@ | декабря 17, 2007 at 15:43
Я понял, почему у меня все нормально
– я не включал чекбокс «Auto kern», без нее не включается html форматирование …
4. murejib | декабря 18, 2007 at 10:23
Точно. Проверил. Именно AutoKern + multiline.