Foros del Web » Programando para Internet » Javascript »

Funcion para cambiar color de inputs

Estas en el tema de Funcion para cambiar color de inputs en el foro de Javascript en Foros del Web. A ver, estoy haciendo un form y quiero que al tener los campos el focus cambien de color y si no lo tienen vuelvan a ...
  #1 (permalink)  
Antiguo 06/04/2006, 06:11
 
Fecha de Ingreso: junio-2004
Mensajes: 266
Antigüedad: 19 años, 10 meses
Puntos: 8
Funcion para cambiar color de inputs

A ver, estoy haciendo un form y quiero que al tener los campos el focus cambien de color y si no lo tienen vuelvan a ser blancos. Para ello tengo dos funciones:

Código:
function colorOnFocus(num_form,num_elem_form) {
	document.forms[num_form].elements[num_elem_form].style.backgroundColor = '#EBF3D6';
	
}
function colorOnBlur(num_form,num_elem_form) {
	document.forms[num_form].elements[num_elem_form].style.backgroundColor = '#FFFFFF';
}
Y en cada campo, las llamo (onFocus y OnBlur), pasando como argumentos en numero de formulario y el numero de elemento de formulario que tiene cada input.

Código PHP:
<input type="text" name="acompanante" id="acomapanate" class="acompanante" value='<?= $obj_centro->get_acompanante() ?>' onFocus='colorOnFocus(0,1)' onBlur='colorOnBlur(0,1)' />
Quisiera saber si hay alguna forma de que no tenga que pasar como argumento el numero de elemento, y que sea la funcion, la que capture quien manda el evento. Asi no tengo que ir cambiando el numerito para cada llamada de cada campo.

Última edición por kurroman; 06/04/2006 a las 06:30
  #2 (permalink)  
Antiguo 06/04/2006, 08:36
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 19 años, 8 meses
Puntos: 2
Hola, hazlo con "this", 'colorOnFocus(this), ya dentro de la función:

function colorOnFocus(obj) {

obj.style.backgroundColor = '#EBF3D6';

}

Saludos
  #3 (permalink)  
Antiguo 06/04/2006, 08:39
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola kurroman

this hace referencia al elemento que ha producido el evento. Llama a la función así:

onfocus="colorOnFocus(this)"

y el código de la función quedaría así de sencillo:
Código:
function colorOnFocus(obj) {
	obj.style.backgroundColor = '#EBF3D6';
}
Saludos,
  #4 (permalink)  
Antiguo 12/04/2006, 01:51
 
Fecha de Ingreso: junio-2004
Mensajes: 266
Antigüedad: 19 años, 10 meses
Puntos: 8
pues kojonudo, gracias.
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 06:57.