ICEfaces
  1. ICEfaces
  2. ICE-5343

ice:inputTextArea allows for strings longer than defined maxlength

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.8.2
    • Fix Version/s: 1.8.2-EE-GA_P01, 1.8.3
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Icefaces rev.20220
    • Workaround Exists:
      Yes

      Description

      If user define maxlength then script Ice.txtAreaMaxLen is fired on some events, like below:

      <TEXTAREA onmousedown="this.focus();" onkeydown="Ice.txtAreaMaxLen(this,140);" onblur="iceSubmitPartial(form, this, event);" onchange="Ice.txtAreaMaxLen(this,140);" (...)></TEXTAREA>

      But the same script cannot be fired onkeydown and onchange. Event onkeydown should return false if new char exceeds range

      This patch should helps

      <TEXTAREA onmousedown="this.focus();" onkeydown="return Ice.txtAreaMaxLen(this,140);" onblur="iceSubmitPartial(form, this, event);" onchange="Ice.txtAreaMaxLen(this,140);" (...)></TEXTAREA>

      Ice.txtAreaMaxLen = function(field, maxlength) {
          if (maxlength >= 0) {
             if(field.value.length == maxlength)
                return false;
             if(field.value.length > maxlength)
               field.value = field.value.substring(0, maxlength);
          }
         return true;
      }

        Issue Links

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              Krashan Brahmanjara
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: