2009-08-17 8 views
3

Как вы получаете длину текста внутри текстового поля Mojo?Как вы получаете длину текста в текстовом поле Mojo?

Я пытаюсь установить multiLine TextField с лимитом в 150 символов, я попытался сделать это с помощью счетчика, но столкнулся с проблемой неспособности уменьшить счетчик при стирании текста или добавить правый номер при вставке текста, поэтому мой новый подход заключался в том, чтобы получить длину текста при каждом нажатии буквы.

Я уже пробовал это: (вызывается в атрибуте textFieldcharsAllow)

if (this.controller.get("mensaje").mojo.getValue().length <= 150) { 
    return true; 
} 

this.controller.get("mensaje").mojo.blur(); 
return false; 

, но он не работает .... Я отлажена и функция завершает работу только после того, как линии в жирный ... он даже не возвращает true или false.

Я также попытался присвоить значение длины переменной или присвоить текст переменной, а затем получить длину, но ничего.

Это та же проблема. Он возвращается сразу после getValue().

Кроме того, возможно из-за этой проблемы текст прокручивается вместо обертывания, но когда textField теряет фокус, он обертывает текст.

ответ

0

Мое первое предположение заключалось в том, что «это» не передается в charsAllow должным образом. Вы включили функцию, которую вы передаете в качестве аргумента?

1

Если «mensaje» является идентификатором HTML вашего текстового поля, попробуйте получить его и использовать .innerHTML(). Length. Другими словами, работа с элементом DOM с использованием функций Javascript/Prototype вместо объекта Mojo.

0

Я нашел это немного странным ... функция mojo.getValue() фактически работает ... но не изнутри функции, называемой «charsAllow» ..., а также функция, называемая charsAllow, t вызывает любую другую функцию, она просто выходит из функции, ничего не делая ... у кого-то есть способ ограничить символы в MultiLine TextField ??? (текстовое поле mojo, чтобы сохранить внешний вид: D). Благодаря!!