3

Mojo TextField内のテキストの長さをどのように取得しますか?

150文字の制限で複数行のTextFieldを設定しようとしていますが、カウンターを使用して設定しようとしましたが、テキストが消去されたときにカウンターをデクリメントできない、または貼り付け時に正しい数値を追加できないという問題が発生しました。テキストなので、私の新しいアプローチは、文字を押すたびにテキストの長さを取得することでした。

私はすでにこれを試しました:(のcharsAllow属性で呼び出されますtextField

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

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

しかし、それは機能しません....私はデバッグし、関数は太字の行の直後に終了します...それはtrueまたはを返しませんfalse

また、長さの値を変数に割り当てるか、テキストを変数に割り当ててから長さを取得しようとしましたが、何もしませんでした。

同じ問題です。の直後に戻りますgetValue()

また、この問題が原因で、テキストが折り返される代わりにスクロールしますが、textFieldフォーカスが失われると、テキストが折り返されます。

4

4 に答える 4

1

「mensaje」がテキスト フィールドの HTML ID である場合は、それを取得して .innerHTML().length を使用してみてください。つまり、Mojo オブジェクトの代わりに Javascript/Prototype 関数を使用して DOM 要素を操作します。

于 2009-08-18T11:28:59.963 に答える
0

これは少し奇妙だと思いました...関数mojo.getValue()は実際に機能します...しかし、 "charsAllow"によって呼び出される関数の内部からは機能しません...また、charsAllowによって呼び出される関数は他の関数を呼び出すことができません関数、それは何もしない関数から抜け出すだけです...誰かがMultiLineTextFieldの文字を制限する方法を持っていますか?(mojo textfield、外観を維持するために:D)。ありがとう!!

于 2009-08-19T17:02:45.917 に答える
0

私の最初の推測は、「this」が charsAllow に適切に渡されていないということです。引数として渡す関数を .bind(this) しましたか?

于 2009-08-31T15:02:45.220 に答える
0

このブログでは、テキスト フィールドが役立つ可能性について少し説明しています: http://kmdarshan.com/wordpress/?p=3305

于 2010-05-11T23:02:24.093 に答える