Foros del Web » Programando para Internet » Javascript »

deshabilitar un campo en javascript antes de ejecutar evento onClick

Estas en el tema de deshabilitar un campo en javascript antes de ejecutar evento onClick en el foro de Javascript en Foros del Web. Como puedo yo deshabilitar un campo e el cual muestro un resutado, antes de ingresar el ultimo valor posible? Me explico mejor: tengo un algoritmo ...
  #1 (permalink)  
Antiguo 06/10/2010, 14:04
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
deshabilitar un campo en javascript antes de ejecutar evento onClick

Como puedo yo deshabilitar un campo e el cual muestro un resutado, antes de ingresar el ultimo valor posible?

Me explico mejor: tengo un algoritmo donde calculo el area y perimetro de un poligono, lo que quiero es que los cuadros de texto donde imprimo el resultado, me aparezcan deshabilitados, es decir, que el usuario no pueda escribir sobre ellos, solo hasta cuando esten todos los campos que el usuario ingresa con los valores llenos

Aca tengo el codigo del formulario

Código HTML:
Ver original
  1. <form name="datos">
  2.  
  3. <div align="center"><h3>NUMERO DE LADOS </h3>
  4.  
  5.   <input  type="text" name="lado" size="10" maxlength="7" onkeyup="num(this);" onblur='num(this);' //>
  6.   <h3>VALOR DEL LADO </h3>
  7.  
  8.   <input  type="text" name="valor" size="10" />
  9.  <h3>VALOR APOTEMA </h3>
  10.  
  11.   <input  type="text" name="apotema" size="10"  /><br>
  12.     </div>
  13.  
  14. // Aca las dos cajas de texto donde imprimo los resultados
  15.  
  16. <div align="center"><h3>VALOR PERIMETRO </h3>
  17. <input type="text" name="perimetro">
  18.  
  19.   <h3>VALOR AREA </h3>
  20. <input type="text" name="resultado"><br>
  21.     </div>
  22.  
  23. //ACA EL BOTON DEL CALCULO
  24. <center>
  25.   <input type="button" value="Calcular valores" onClick="area()"> <input name="Limpiar"  type="reset" id="Limpiar" value="Borrar valores ingresados "></center>
  26.  
  27. </form>

Y aca el codigo JavasCript donde opero las formulas

Ya tengo todo validado, asi que dicha parte la omito


Código Javascript:
Ver original
  1. <script languaje="JavaScript">
  2.  function area()
  3.          {
  4.             lado=document.datos.lado.value;
  5.        valor=document.datos.valor.value;
  6.        apotema=document.datos.apotema.value;
  7.  
  8.            perimetro=lado*valor;
  9.            
  10.            
  11.             document.datos.perimetro.value=perimetro;
  12.             document.datos.resultado.value=perimetro*apotema/2;
  13.           }
  14.            
  15.      
  16.       </script>

Es decir, quiero inicialmente mostrar deshabilitados las cajas de perimetro y resultado, una vez ingresados todos los datos, habilitarlas con el resultado nada mas..
Como puedo hacerlo?...Agradezco me puedan colaborar
  #2 (permalink)  
Antiguo 06/10/2010, 14:11
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: deshabilitar un campo en javascript antes de ejecutar evento onClick

Usa el atributo HTML disabled='disabled' en esos campos, y después en la función pones campo.disabled=false .
Por cierto, algoritmo y fórmula son cosas distintas.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 06/10/2010, 14:41
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: deshabilitar un campo en javascript antes de ejecutar evento onClick

Gracias, me funciono bien, aunque los resultados los imprime un poco claros, eso como lo podria arreglar? , para que me salgan mas oscuros

Etiquetas: deshabilitar, ejecutar, onclick, eventos, campos
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:16.