Грабля inputField

декабря 16, 2007

Обнаружил баг.
Если свойство multiline текстового поля типа input равно true, то даже если поле пустое, проверка на длину текста показывает 1. В поле сидит паразитный символ с кодом 13 (ввод). При проверке формы на заполненные поля – этот баг играет злую шутку. Визуально поле пустое, но для кода – оно заполнено.

ВАЖНО! Этот баг проявляется, если multiline задано в среде разработки Flash IDE. Программно заданное свойство лишено этого парзитного явления.

______

UPD: По наблюдениям @st@l@vist@ – Важную роль в этом баге играет еще и AutoKern. Если он отключен, то даже при multiline  баг не прорявляется.

То есть AutoKern+multiline в поле ввода = баг с длинной текста. Более того, если в поле введен ОДИН символ – длина текста будет равной уже двум. Так что баг ко всему еще имеет и свою логику ).

Popularity: 3% [?]

Entry Filed under: text,грабли

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.




Метки

Категории

Ссылки

Фреш

МЕТА