SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Wizard Zaggs's Avatar
    Join Date
    Feb 2005
    Posts
    1,051
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    jQuery watermark on input

    Hi Guys!

    I found this piece of code by googling. It does what I need, except it only supports input fields. Is it possible to adapt to support textarea too?

    Code:
    /*
     * Copyright (c) 2007 Josh Bush (digitalbush.com)
     * 
     * Permission is hereby granted, free of charge, to any person
     * obtaining a copy of this software and associated documentation
     * files (the "Software"), to deal in the Software without
     * restriction, including without limitation the rights to use,
     * copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the
     * Software is furnished to do so, subject to the following
     * conditions:
    
     * The above copyright notice and this permission notice shall be
     * included in all copies or substantial portions of the Software.
     * 
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
     * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
     * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     * OTHER DEALINGS IN THE SOFTWARE. 
     */
     
    /*
     * Version: Beta 1
     * Release: 2007-06-01
     */ 
    (function($) {
    	var map=new Array();
    	$.Watermark = {
    		ShowAll:function(){
    			for (var i=0;i<map.length;i++){
    				if(map[i].obj.val()==""){
    					map[i].obj.val(map[i].text);					
    					map[i].obj.css("color",map[i].WatermarkColor);
    				}else{
    				    map[i].obj.css("color",map[i].DefaultColor);
    				}
    			}
    		},
    		HideAll:function(){
    			for (var i=0;i<map.length;i++){
    				if(map[i].obj.val()==map[i].text)
    					map[i].obj.val("");					
    			}
    		}
    	}
    	
    	$.fn.Watermark = function(text,color) {
    		if(!color)
    			color="#aaa";
    		return this.each(
    			function(){		
    				var input=$(this);
    				var defaultColor=input.css("color");
    				map[map.length]={text:text,obj:input,DefaultColor:defaultColor,WatermarkColor:color};
    				function clearMessage(){
    					if(input.val()==text)
    						input.val("");
    					input.css("color",defaultColor);
    				}
    
    				function insertMessage(){
    					if(input.val().length==0 || input.val()==text){
    						input.val(text);
    						input.css("color",color);	
    					}else
    						input.css("color",defaultColor);				
    				}
    
    				input.focus(clearMessage);
    				input.blur(insertMessage);								
    				input.change(insertMessage);
    				
    				insertMessage();
    			}
    		);
    	};
    })(jQuery);
    Thanks.

  2. #2
    Avid Logophile silver trophy
    ParkinT's Avatar
    Join Date
    May 2006
    Location
    Central Florida
    Posts
    2,332
    Mentioned
    192 Post(s)
    Tagged
    4 Thread(s)
    Just by looking at the code, I don't see why it wouldn't work on any field to which you apply it.
    Have you tried it on a textarea?
    Don't be yourself. Be someone a little nicer. -Mignon McLaughlin, journalist and author (1913-1983)


    Git is for EVERYONE
    Literally, the best app for readers.
    Make Your P@ssw0rd Secure
    Leveraging SubDomains


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •