Change 20080106-bargull-2 by [EMAIL PROTECTED] on 2008-01-06 17:19:46
in /home/Admin/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Adding maxlength for multiline-inputtext (DHTML)

New Features:

Bugs Fixed: LPP-4747 - "Edittext maxlength does not work"

Technical Reviewer: max
QA Reviewer: promanik
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
The HTML- object does not support maxlength natively, so we need to implement a js-solution for DHTML. To get the best visual experience, I'm using the "onkeypress"-event, this way we can easily interrupt any user-input as soon as the maxlength for the inputtext has been reached. As keyboard-events are handled quite differently across all supported browsers, I needed to add a couple of new quirks to LzSprite, but most of them should be self-explanatory (also see http://www.quirksmode.org/js/keys.html).

Pasting text into an inputtext is special-handled to match Flash's behaviour as much as possible:
- for IE/Safari, I'm simply using the "onbeforepaste"-event
- for Firefox/Opera, I need to detect paste manually because these browsers do not support "onbeforepaste" Flash-behaviour: you can only paste that much chars, as you have still available in the inputtext.

Changes in LzText and LzInputText fixes two "stale-data" bugs: you cannot use LzInputText#text to retrieve the current text-value, because this property does not get updated when the user types in any text. Instead of that, you must use LzInputText#getText().


Tests:
see bug-description

Files:
M WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
M WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
M WEB-INF/lps/lfc/views/LzInputText.lzs
M WEB-INF/lps/lfc/views/LzText.lzs

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20080106-bargull-2.tar



Reply via email to