# inputEx-library

### inputEx 0.5.1

inputEx-library > inputEx > UpperCaseField.js (source view)
Search:
Filters Show Private Show Protected Show Deprecated

    (function() {

    /**
     * A field where the value is always uppercase
     * @class inputEx.UpperCaseField
     * @extends inputEx.StringField
     * @constructor
     * @param {Object} options inputEx.Field options object
     */
    inputEx.UpperCaseField = function(options) {
       inputEx.UpperCaseField.superclass.constructor.call(this,options);
    };
    YAHOO.lang.extend(inputEx.UpperCaseField, inputEx.StringField, {

       /**
        * Set the value and call toUpperCase
        * @param {String} val The string
        * @param {boolean} [sendUpdatedEvt] (optional) Wether this setValue should fire the updatedEvt or not (default is true, pass false to NOT send the event)
        */
       setValue: function(val, sendUpdatedEvt) {
          // don't always rewrite the value to able selections with Ctrl+A
          var uppered = val.toUpperCase();
          if(uppered != this.getValue()) {
             inputEx.UpperCaseField.superclass.setValue.call(this, uppered, sendUpdatedEvt);
          }
       },

       /**
        * Call setvalue on input to update the field with upper case value
        * @param {Event} e The original 'input' event
        */
       onKeyPress: function(e) {
       	inputEx.UpperCaseField.superclass.onKeyPress.call(this,e);

       	// Re-Apply a toUpperCase method
       	YAHOO.lang.later(0,this,function() {this.setValue( (this.getValue()) );});
       }

    });

    // Register this class as "uppercase" type
    inputEx.registerType("uppercase", inputEx.UpperCaseField);

    })();

Copyright © 2010 Eric Abouaf All rights reserved.