WebgrownSolutions

William J. Familia's Dev Garden

Limited Textarea

As part of a new UI library, I have created a Limited Textarea in a manner that follows the guidelines found in the Webgrown Solutions UI Manifesto. The Limited Textarea supports the following features:

The Demo

The Markup

Just a basic textarea element, with a normal class, maxlength and sizing attributes. Once the CSS and Script stuff are in place on a website, any page can implement the Limited Textarea by simply setting the textarea element's class attribute to "limitedTextarea" and setting the maxlength to a desired string length limitation.

That sounds like a DRY solution to me (see UI Manifesto).

<div class="form legendLook horizontalFormLayout">
    <div id="hdivFormTest1ConfirmationMessage" class="confirmationMessageWrapper hide"></div>
            
    <label for="txtLimited">Description:</label>
    <textarea id="txtLimited" class="limitedTextarea"
        required 
        placeholder="Please enter some text and see the counter adjust accordingly."
        rows="10" 
        cols="60"
        maxlength="500"            
        data-formGroup="formAuthenticate" 
        data-parameterName="singleItem"></textarea>

    <div class="formButtonWrapper clearFix">
        <input type="submit" class="ajaxFormPost buttonStrong" value="Submit"
            data-formGroup="formAuthenticate" 
            data-serviceRequestUrl="/WebServices/AjaxFormTestClientService.svc/SingleItemTestSubmit" 
            data-successFunction="successFormTest1"
            data-confirmActionMessage=""
            data-processingMessage=""
            data-overlayWindowWhileProcessing="true" />
    </div>
</div>

The CSS

Not shown to the general public.
        

The Script

Not shown to the general public.
        
blog comments powered by Disqus

In addition to the Markup, CSS and JavaScript code samples found below the demo, the following resources/files are required:

We are processing your request.

loading...
*
Please fix the following issues and then submit again: is required. is not valid. does not match
loading...
mm/dd/yy mm/dd/yy 0 Previous Next ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'] Wk false false false h:mm tt Choose Time Time: Hour: Minute: Second: Now Done You have # character(s) remaining.