Texto ‘Buscar’ por defecto
¿Cómo hacerlo?
Ejemplo 1
Colocamos un texto por defecto en la casilla de texto del buscador.
Al cargar la página se coloca un texto por defecto (atributo «default») en la casilla de texto si esta se encuentra vacía.
- Al hacer clic en la casilla de texto, se quita el texto por defecto.
- Cuando se deja la casilla de texto (eveto «blur»), se verifica el valor (atributo «value») de esta y si no se introdujo texto alguno se coloca el texto por defecto (atributo «default»).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <script type="text/javascript" src="jquery-1.6.4.js"></script> <script type="text/javascript"> $(document).ready(function(){ function init_input_search(input_id){ input = $('input#'+input_id); if(input.length > 0){ default_text = input.attr('default'); if(default_text == 'undefined'){ default_text = ''; } if(default_text != '' && input.val() == ''){ input.val(default_text); } } input.click(function(e){ if($(this).val() == default_text){ $(this).val(''); } }); input.blur(function(e){ if($(this).val() == ''){ $(this).val(default_text); } }); input.parents('form').submit(function(e){ $('input', $(this)).each(function(){ if($(this).val() == $(this).attr('default')){ $(this).val(''); } }); }); } init_input_search('search_by'); }); </script> |
Explicación
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <script type="text/javascript" src="ruta/al/archivo/jquery"></script> <script type="text/javascript"> $(document).ready(function(){ function init_input_search(input_id){ input = $('input#'+input_id); // verificamos si la casilla de texto con el 'id' indicado existe if(input.length > 0){ // obtenemos el valor del atributo'default' default_text = input.attr('default'); if(default_text == 'undefined'){ default_text = ''; } // evaluamos que se haya definido un texto por defecto para mostrar en caso // que la casilla de texto este en blanco; si es asi lo colocamos como valor de // la casilla de texto if(default_text != '' && input.val() == ''){ input.val(default_text); } } // si se hace clic en la casilla de texto, se quita el texto por defecto colocado al // cargar la página input.click(function(e){ if($(this).val() == default_text){ $(this).val(''); } }); // cuando la casilla de texto se deja, colocamos el texto por defecto solo en caso // que esta haya sido dejada en blanco input.blur(function(e){ if(default_text != '' && $(this).val() == ''){ $(this).val(default_text); } }); } // antes de enviar el formulario limpiamos la casilla de texto si al enviar el formuario // contiene el texto por defecto input.parents('form').submit(function(e){ $('input', $(this)).each(function(){ if($(this).val() == $(this).attr('default')){ $(this).val(''); } }); }); // inicializamos la casilla de texto init_input_search('search_by'); }); </script> |
¿Necesitas otro ejemplo?
Si necesitas otro ejemplo (uno más real), puedes dejar un comentario indicando tu solicitud, acerca de lo que quisieras que elaboraramos, y con gusto contestaremos tu solicitud.