Comunidad PHPeros
Lenguajes => JavaScript => Mensaje iniciado por: AlejandroMMz en 30 de Enero de 2011, 20:18:08 pm
-
Hola que tal?
resulta que tengo un input el cual quiero que al hacer .focus se borre el contenido automáticamente, lo logré en el codigo HTML haciendo:
<input type="text" name="s_email" class="sus_form" value="Suscripción vía email" [b]onFocus="this.value=''" onblur="this.value='Suscripción vía email'[/b]">[CODE] - lo cual aparte si no escribia algun valor y dejaba el input me dejaba el que tenía por defecto.. pero sucede que no quiero esto dentro del html (ya que intento validarlo a la perfección) y quisiera saber como hacerlo con Javascript, o desde las funciones que tengo en mi archivo de funciones .js (que aplican con Jquery).
gracias de antemano.
-
Emmm, ¿y cuál es la duda? o.o
-
Emmm, ¿y cuál es la duda? o.o
XDD
Poder expresar esto: onFocus="this.value=''" onblur="this.value='Suscripción vía email'
pero en Js, pues no lo quiero ahi en el html ya que no se valida la 1.0 trans.. del html.
-
¿De casualidad te suena la librería de jQuery? Si la has usado alguna vez dime, sino déjame y pienso otra forma de explicártelo xD
Edito: terminé de leer tu quote y mencionas jQuery así que te explico como hacerlo ahí.
Donde tú colocas los eventos a realizar y demás, es decir, dentro del
$(document).ready(function(){
//Aqui
});
Podrás utilizar estos 2 métodos: object.focus() y object.blur(), que hacen lo que quieres.
Lo primero es asignarle un id sólo a ese input, por ejemplo:
<input type="text" name="s_email" id="mi-id" class="sus_form" value="Suscripción vía email" />
Luego, donde te mencione arriba colocarías esto:
$("#mi-id").focus(function(){
//Aquí escribes lo que haces cuando se le enfoca
});
$("#mi-id").blur(function(){
//Aquí escribes lo que haces cuando pierde el enfoque
});
Ya con eso creo que puedes hacer lo demás, sino pregunta.
-
¿De casualidad te suena la librería de jQuery? Si la has usado alguna vez dime, sino déjame y pienso otra forma de explicártelo xD
Edito: terminé de leer tu quote y mencionas jQuery así que te explico como hacerlo ahí.
Donde tú colocas los eventos a realizar y demás, es decir, dentro del
$(document).ready(function(){
//Aqui
});
Podrás utilizar estos 2 métodos: object.focus() y object.blur(), que hacen lo que quieres.
Lo primero es asignarle un id sólo a ese input, por ejemplo:
<input type="text" name="s_email" id="mi-id" class="sus_form" value="Suscripción vía email" />
Luego, donde te mencione arriba colocarías esto:
$("#mi-id").focus(function(){
//Aquí escribes lo que haces cuando se le enfoca
});
$("#mi-id").blur(function(){
//Aquí escribes lo que haces cuando pierde el enfoque
});
Ya con eso creo que puedes hacer lo demás, sino pregunta.
Muchas gracias, entiendo perfectamente, solo que es justo donde no he podido, donde debo escribir que pasa XDD.. no se como expresarlo.. osea tomar el valor que ahi en caso de focus y reemplazarlo por "" (nada) o colocar un valor en caso de blur.. :( :( :(
-
Muchas gracias, entiendo perfectamente, solo que es justo donde no he podido, donde debo escribir que pasa XDD.. no se como expresarlo.. osea tomar el valor que ahi en caso de focus y reemplazarlo por "" (nada) o colocar un valor en caso de blur.. :( :( :(
Para eso ya vendría la lógica de cada quién, yo lo que por lo regular hago es:
- Declaro una variable que contenga el texto por defecto.
- En caso de enfoque, comprobar que lo que hay en la caja de texto es el texto por defecto, y si es así, vaciarlo.
- En caso de perdida de enfoque (blur), comprobar que lo que hay en la caja de texto es un espacio vacío, y si es así, volver a asignar el texto por defecto.
-
Para eso ya vendría la lógica de cada quién, yo lo que por lo regular hago es:
- Declaro una variable que contenga el texto por defecto.
- En caso de enfoque, comprobar que lo que hay en la caja de texto es el texto por defecto, y si es así, vaciarlo.
- En caso de perdida de enfoque (blur), comprobar que lo que hay en la caja de texto es un espacio vacío, y si es así, volver a asignar el texto por defecto.
Por eso.. es exactamente lo que necesito pero no se el código la forma de construir eso.. alguna referencia o web de donde pueda encontrarlo? o por que nombre etc? ... :-[
-
Por eso.. es exactamente lo que necesito pero no se el código la forma de construir eso.. alguna referencia o web de donde pueda encontrarlo? o por que nombre etc? ... :-[
Es que a mí me gusta poner a pensar un poco xdd... No me gusta dar códigos hechos realmente.
Pero las comprobaciones que te hice se hacen con sentencias if y lo de obtener el valor (value) de un objeto es con el método val(); y para sobreescribir ese valor se usar val('loquequieresasignarle');
-
Es que a mí me gusta poner a pensar un poco xdd... No me gusta dar códigos hechos realmente.
Pero las comprobaciones que te hice se hacen con sentencias if y lo de obtener el valor (value) de un objeto es con el método val(); y para sobreescribir ese valor se usar val('loquequieresasignarle');
Ok.. no tenía idea más halla de lo que expliqué aquí pero gracias a esa base ya entendí y al parecer pude hacerlo funcionar..
$("#sus_form").focus(function(){
$(this).val('') })
Muchas gracias! k