Foros del Web » Programando para Internet » Javascript »

Auto vaciar textarea al hacer clic dentro...

Estas en el tema de Auto vaciar textarea al hacer clic dentro... en el foro de Javascript en Foros del Web. Hola amigos... os pongo en situación, tengo el siguiente código: Código HTML: //autovaciar campos de formulario function input_focus(campo,texto){ if(campo.value==texto){campo.value='';} } function input_blur(campo,texto){ if(campo.value==''){campo.value=texto;} } <input ...
  #1 (permalink)  
Antiguo 23/06/2009, 01:04
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Auto vaciar textarea al hacer clic dentro...

Hola amigos...

os pongo en situación, tengo el siguiente código:

Código HTML:
//autovaciar campos de formulario
function input_focus(campo,texto){
	if(campo.value==texto){campo.value='';}
}
function input_blur(campo,texto){
	if(campo.value==''){campo.value=texto;}
}


<input type="text" name="titulo" id="titulo" value="Escribe aquí el título del anuncio" onfocus="javascript:input_focus(this,'Escribe aquí el título del anuncio');" onblur="javascript:input_blur(this,'Escribe aquí el título del anuncio');" maxlength="120"/> 
Y funciona genial...

pero si lo aplico aun textarea.... no me va....

Código HTML:
<textarea name="observaciones" id="observaciones" cols="" rows="">Detalla el momento, la situación y localización exacta donde lo perdiste o lo encontraste.

IMPORTANTE: Por razones de seguridad evita facilitar datos personales</textarea> 
Creo que el problema es por el espaciado que hay en el texto.... que no se como hacerlo para que en la comparación de la función replicarlo perfectamente para que coincida con el value...

if(campo.value==texto)

alguna idea? u otra opción?

Mil gracias!
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #2 (permalink)  
Antiguo 23/06/2009, 01:21
Avatar de KiraSakuya  
Fecha de Ingreso: junio-2009
Mensajes: 67
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Auto vaciar textarea al hacer clic dentro...

Perdona que sea lo primero que he visto, pero prefiero asegurar que no es eso, falta el evento onblur y el onfocus en el textarea. Si no es eso ya miro mas detalladamente :)
  #3 (permalink)  
Antiguo 23/06/2009, 01:26
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Respuesta: Auto vaciar textarea al hacer clic dentro...

Cita:
Iniciado por KiraSakuya Ver Mensaje
Perdona que sea lo primero que he visto, pero prefiero asegurar que no es eso, falta el evento onblur y el onfocus en el textarea. Si no es eso ya miro mas detalladamente :)
No los he puesto, para ver como los pondríais... yo cuando coloco el onblur y onfocus, en el texto a comparar le meto unos \n\r para el salto de línea...

no se como colocar ese texto para que lo compare bien... jaar...!
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #4 (permalink)  
Antiguo 23/06/2009, 03:50
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Respuesta: Auto vaciar textarea al hacer clic dentro...

Hola,

Mira a ver si esto es lo que quieres:

Código PHP:
<html
<
head
<
script type="text/javascript">

function 
textArea_blur(id)
{
    var 
texto = new String();
    
texto "Escribe algo aquí...";
    var 
area document.getElementById(id);
    if(
area.value == "")
    {
        
area.value="Escribe algo aquí...";
    }
}

function 
textArea_focus(id)
{
    var 
texto = new String();
    
texto "Escribe algo aquí...";
    var 
area document.getElementById(id);
    if(
area.value == texto)
    {
        
area.value="";
    }
}

</script>
</head> 
<body> 
<textarea rows="2" cols="20" id="area" onBlur="textArea_blur(this.id)" onFocus="textArea_focus(this.id)">
Escribe algo aquí...</textarea>
</body> 
</html> 

Si no es lo que quieres vuelve a postear y nos lo miramos.

Saludos!
  #5 (permalink)  
Antiguo 23/06/2009, 04:40
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Respuesta: Auto vaciar textarea al hacer clic dentro...

muchas gracias, a la hora de comer le pego una ojeada.
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #6 (permalink)  
Antiguo 23/06/2009, 07:01
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Respuesta: Auto vaciar textarea al hacer clic dentro...

Cita:
Iniciado por crujikoki Ver Mensaje
Hola,

Mira a ver si esto es lo que quieres:

Código PHP:
<html
<
head
<
script type="text/javascript">

function 
textArea_blur(id)
{
    var 
texto = new String();
    
texto "Escribe algo aquí...";
    var 
area document.getElementById(id);
    if(
area.value == "")
    {
        
area.value="Escribe algo aquí...";
    }
}

function 
textArea_focus(id)
{
    var 
texto = new String();
    
texto "Escribe algo aquí...";
    var 
area document.getElementById(id);
    if(
area.value == texto)
    {
        
area.value="";
    }
}

</script>
</head> 
<body> 
<textarea rows="2" cols="20" id="area" onBlur="textArea_blur(this.id)" onFocus="textArea_focus(this.id)">
Escribe algo aquí...</textarea>
</body> 
</html> 

Si no es lo que quieres vuelve a postear y nos lo miramos.

Saludos!
Vale, esto funciona bien. pero...

con este texto en el textarea... como lo colocas en la función para que lo evalue correctamente?

Cita:
Detalla el momento, la situación y localización exacta donde lo perdiste o lo encontraste.

IMPORTANTE: Por razones de seguridad evita facilitar datos personales.
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #7 (permalink)  
Antiguo 25/06/2009, 01:12
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Respuesta: Auto vaciar textarea al hacer clic dentro...

Hola,

No tengo ni idea de a que te refieres...

¿¿¿ Cuando dices "con este texto en el textarea..." te refieres a lo de "Escribe algo aquí..." ???

¿A que te refieres por "colocar en la función" y que "lo evalue correctamente"?

A mi modo de entender ya estoy haciendo lo que dices, aun que si vuelves a psotear querrá decir que no... La verdadque no entiendoa que te refieres...

Por si a caso he cambiado un poco el código para hacerlo un pelin más limpio, pero vaya, que la filosofia es la misma.

Código PHP:
<html>
<
head>
<
script type="text/javascript">

var 
textoInicial = new String();
textoInicial "Escribe algo aquí...";

function 
textArea_blur(id)
{
    var 
area document.getElementById(id);
    if(
area.value == "")
    {
        
area.value="Escribe algo aquí...";
    }
}

function 
textArea_focus(id)
{
    var 
area document.getElementById(id);
    if(
area.value == textoInicial)
    {
        
area.value="";
    }
}

</script>
</head>
<body>
<textarea rows="2" cols="20" id="area" onBlur="textArea_blur(this.id)" onFocus="textArea_focus(this.id)">
Escribe algo aquí...</textarea>
</body>
</html> 
Por favor, si aun no te hemos resuelto la duda o hay algo que no entiendes, nos lo puedes explicar un poco más detallado? Yo al menos no lo entiendo...

Saludos.
  #8 (permalink)  
Antiguo 25/06/2009, 01:20
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Respuesta: Auto vaciar textarea al hacer clic dentro...

Cita:
Iniciado por crujikoki Ver Mensaje
Hola,

No tengo ni idea de a que te refieres...

¿¿¿ Cuando dices "con este texto en el textarea..." te refieres a lo de "Escribe algo aquí..." ???

¿A que te refieres por "colocar en la función" y que "lo evalue correctamente"?

A mi modo de entender ya estoy haciendo lo que dices, aun que si vuelves a psotear querrá decir que no... La verdadque no entiendoa que te refieres...

Por si a caso he cambiado un poco el código para hacerlo un pelin más limpio, pero vaya, que la filosofia es la misma.

Código PHP:
<html>
<
head>
<
script type="text/javascript">

var 
textoInicial = new String();
textoInicial "Escribe algo aquí...";

function 
textArea_blur(id)
{
    var 
area document.getElementById(id);
    if(
area.value == "")
    {
        
area.value="Escribe algo aquí...";
    }
}

function 
textArea_focus(id)
{
    var 
area document.getElementById(id);
    if(
area.value == textoInicial)
    {
        
area.value="";
    }
}

</script>
</head>
<body>
<textarea rows="2" cols="20" id="area" onBlur="textArea_blur(this.id)" onFocus="textArea_focus(this.id)">
Escribe algo aquí...</textarea>
</body>
</html> 
Por favor, si aun no te hemos resuelto la duda o hay algo que no entiendes, nos lo puedes explicar un poco más detallado? Yo al menos no lo entiendo...

Saludos.

En lugar de que el textarea escriba el texto "Escribe algo aquí" ... que sea con este texto:

"Detalla el momento, la situación y localización exacta donde lo perdiste o lo encontraste.

IMPORTANTE: Por razones de seguridad evita facilitar datos personales."

fíjate que el texto de encima de estas lineas tiene 2 párrafos... ese es mi problema... :P
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #9 (permalink)  
Antiguo 25/06/2009, 02:31
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: Auto vaciar textarea al hacer clic dentro...

no hace falta pasarle el id a la funcion, basta con que le pases this:

Código javascript:
Ver original
  1. function textArea_focus (textarea){
  2.     if (textarea.value == textoInicial){
  3.         textarea.value = "";
  4.     }
  5. }
  6.  
  7. onFocus="textArea_focus (this);"
  #10 (permalink)  
Antiguo 26/06/2009, 01:09
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 4 meses
Puntos: 8
Respuesta: Auto vaciar textarea al hacer clic dentro...

Hola,

Mira a ver si esto es lo que quieres:

Código PHP:
<html
<
head
<
script type="text/javascript"

function 
textArea_blur(TxtArea,TxtInicial
{  
    if(
TxtArea.value == ""
    { 
        
TxtArea.value TxtInicial
    }


function 
textArea_focus(TxtArea,TxtInicial

    if(
TxtArea.value == TxtInicial
    { 
        
TxtArea.value=""
    } 


</script> 
</head> 
<body> 
<textarea rows="20" cols="100" id="area" onBlur="textArea_blur(this,this.defaultValue)" onFocus="textArea_focus(this,this.defaultValue)">
Detalla el momento, la situación y localización exacta donde lo perdiste o lo encontraste.

IMPORTANTE: Por razones de seguridad evita facilitar datos personales.</textarea> 
</body> 
</html> 
  #11 (permalink)  
Antiguo 01/07/2009, 09:23
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Respuesta: Auto vaciar textarea al hacer clic dentro...

Cita:
Iniciado por crujikoki Ver Mensaje
Hola,

Mira a ver si esto es lo que quieres:

Código PHP:
<html
<
head
<
script type="text/javascript"

function 
textArea_blur(TxtArea,TxtInicial
{  
    if(
TxtArea.value == ""
    { 
        
TxtArea.value TxtInicial
    }


function 
textArea_focus(TxtArea,TxtInicial

    if(
TxtArea.value == TxtInicial
    { 
        
TxtArea.value=""
    } 


</script> 
</head> 
<body> 
<textarea rows="20" cols="100" id="area" onBlur="textArea_blur(this,this.defaultValue)" onFocus="textArea_focus(this,this.defaultValue)">
Detalla el momento, la situación y localización exacta donde lo perdiste o lo encontraste.

IMPORTANTE: Por razones de seguridad evita facilitar datos personales.</textarea> 
</body> 
</html> 
Hola Socio!!

Hoy he probado lo que me pasaste y oye, fabuloso!!! la verdad es que genial! muchas, muchas gracias!!!
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:39.