Foros del Web » Programando para Internet » Javascript »

modificar atributos en campo de formulario

Estas en el tema de modificar atributos en campo de formulario en el foro de Javascript en Foros del Web. Buenos días a todos. Ando liado con un formulario y se me ha ocurrido una pregunta, ¿Es posible modificar los atributos de un campo (color, ...
  #1 (permalink)  
Antiguo 05/10/2005, 03:33
 
Fecha de Ingreso: diciembre-2004
Mensajes: 98
Antigüedad: 19 años, 4 meses
Puntos: 0
Pregunta modificar atributos en campo de formulario

Buenos días a todos.
Ando liado con un formulario y se me ha ocurrido una pregunta, ¿Es posible modificar los atributos de un campo (color, tipo de letra, etc..) en función del valor o resultado de otro campo?.
Por ejemplo, tener un input tipo text con un fondo oscuro cuando este deshabilitado y según el valor de otro se habilite y se ponga de color claro.
Muchas gracias a todos, anticipadamente, por vuestras respuestas
  #2 (permalink)  
Antiguo 05/10/2005, 06:59
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
si es posible. solo tienes que tener en cuenta lo siguiente: que el input que quieras cambiar de estilo tenga una ID.

sobre el resultado del otro campo habria que tener en cuenta que es lo que quieres hacer con el.... por ejemplo: si retorna "1" que se ponga de color rojo, si retorna "2" que se ponga de color amarillo, etc.

tendrias que especificar exactamente que es lo que deseas...

saludos.
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #3 (permalink)  
Antiguo 05/10/2005, 07:05
 
Fecha de Ingreso: diciembre-2004
Mensajes: 98
Antigüedad: 19 años, 4 meses
Puntos: 0
¿tan dificil es?

Bueno no se si mis preguntas son tan dificiles que nadie me responde o son tan chorras que no merecen ser contestadas.

Esto es con lo que ando dando vueltas, espero que os aclare un poco mas mi pregunta de si es posible cambiar el estilo de un campo en función del valor de otro
Definición de estilo:
<STYLE TYPE="text/css">
.sfondo {background: #FFFFE3}
{</STYLE>

Función que habilita varios campos según el valor del campo "empre"
function habilitaempre(form)
{
if(form.empre.value != ""){
form.cargo.disabled = false;
form.callee.disabled = false;
form.citie.disabled = false;
form.cpostae.disabled = false;
form.cargo.className = "";
form.callee.className = "";
form.citie.className = "";
form.cpostae.className = "";}
else{
form.cargo.disabled = true;
form.callee.disabled = true;
form.citie.disabled = true;
form.cpostae.disabled = true;
form.cargo.className = "sfondo";
form.callee.className = "sfondo";
form.citie.className = "sfondo";
form.cpostae.className = "sfondo";}
}


y esto es la parte del formulario, (se han omitido muchas lineas pero en esencia son estas las que definen mi pregunta anterior).
<td width="520" height="30"align="left" valign="middle"colspan="3"><font face="Verdana"size="2">
<input type=text name="empre" size=75 onkeypress="return tabular(event,this)" onkeyup="habilitaempre(this.form)">
</font></td></tr>
<tr>
<td width="90" height="30" valign="middle"><font face="Verdana"size="2"><b>Cargo:</b>
</td>
<td width="520" height="30"align="left" valign="middle"colspan="3"><font face="Verdana"size="2">
<input class="sfondo" type=text name="cargo" size=75 disabled onkeypress="return tabular(event,this)">
</font></td></tr>
<tr><td width="90" height="30"><font face="Verdana"size="2"><b>
<?php
if ($idm=="ig"):
echo'Address';
else:
echo'Dirección';
endif;
?>
:</b></font></td>
<td width="520" height="30"align="left" valign="middle"colspan="3"><font face="Verdana"size="2">
<input class="sfondo" type=text name="callee" size=75 disabled onkeypress="return tabular(event,this)">
</font></td></tr>
<tr>
<td width="90" height="30"><font face="Verdana"size="2"><b>
<?php
if ($idm=="ig"):
echo'City';
else:
echo'Ciudad';
endif;
?>
:</b></font></td>
<td width="220" height="30"align="left" valign="middle"><font face="Verdana"size="2">
<input class="sfondo" type=text name="citie" size=30 disabled onkeypress="return tabular(event,this)">
</font></td>

Nota la funcion ="return tabular(event,this)" es para que al pulsar "enter" salte al campo siguiente

La cuestión es que funciona la parte de habilitar y deshabilitar campos, pero lo de cambiar el estilo solo lo hace en el primer campo que se define en la función habilitaempre(form) es el de "cargo" el resto sigue con el mismo color de fondo

Saludos para todos y reitero las gracias anteriores
  #4 (permalink)  
Antiguo 05/10/2005, 07:16
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
si entiendo la pregunta. lo que no entiendo ahora es tu codigo....
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #5 (permalink)  
Antiguo 05/10/2005, 07:27
 
Fecha de Ingreso: diciembre-2004
Mensajes: 98
Antigüedad: 19 años, 4 meses
Puntos: 0
Perdon, perdon, perdon, si funciona, no se porque razon, quizas sea por en buffer del explorer, pero al volver a cargar la página a funcionado como yo queria.
Saruman ¿que parte de codigo no entiendes?, me imagino que la función esta clara qizas la parte de html no lo este, te explico, es un formulario mas extenso en donde introduces los datos personales y uno de los campos es: empresa, mientras este no tenga valor el resto esta deshabilitado, todo el fichero esta en php pues de esa forma y mediante una variable que viene de otra página lo puedo poner en ingles o en cristiano (lo de los if), en fin solo he puesto la parte que me afectaba.

Saludos y gracias por el interes, si deseas mas aclaraciones no dudes en decirmelo
  #6 (permalink)  
Antiguo 05/10/2005, 07:31
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
ok, cool... me alegro que halla funcionado
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
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 16:09.