Foros del Web » Programando para Internet » Javascript »

Validar campos al hacer una suma

Estas en el tema de Validar campos al hacer una suma en el foro de Javascript en Foros del Web. Buenas noches Quiero validar los campos de un form por ej: si no llenan un campo que mande una alerta que diga "Faltan Datos" les ...
  #1 (permalink)  
Antiguo 24/06/2010, 20:35
 
Fecha de Ingreso: abril-2010
Mensajes: 40
Antigüedad: 14 años
Puntos: 0
Validar campos al hacer una suma

Buenas noches

Quiero validar los campos de un form por ej: si no llenan un campo que mande una alerta que diga "Faltan Datos" les anexo mi codigo

saludos.


<html>
<head>
<title></title>
<script>
function sumar() {
var n1 = parseFloat(document.MyForm.numero1.value);
var n2 = parseFloat(document.MyForm.numero2.value);
var n3 = parseFloat(document.MyForm.numero3.value);
var n4 = parseFloat(document.MyForm.numero4.value);
document.MyForm.resultado.value=n1+n2+n3+n4;

}
</script>
</head>

<body>

<form name="MyForm">
<table width="200" border="0">
<tr>
<td width="70">Valor1</td>
<td width="120"><input type="text" name="numero1" size="20"></td>
</tr>
<tr>
<td>Valor2</td>
<td><input type="text" name="numero2" size="20"></td>
</tr>
<tr>
<td>Valor3</td>
<td><input type="text" name="numero3" size="20"></td>
</tr>
<tr>
<td>Valor4</td>
<td><input type="text" name="numero4" size="20"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Resultado</td>
<td><input type="text" name="resultado" onfocus="sumar()"></td>
</tr>
</table>
</form>

</body>

</html>
  #2 (permalink)  
Antiguo 25/06/2010, 07:47
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar campos al hacer una suma

Código Javascript:
Ver original
  1. <script type='text/javascript'>
  2. function sumar(){
  3.  var n1 = parseFloat(document.MyForm.numero1.value);
  4.  var n2 = parseFloat(document.MyForm.numero2.value);
  5.  var n3 = parseFloat(document.MyForm.numero3.value);
  6.  var n4 = parseFloat(document.MyForm.numero4.value);
  7.  if(isNaN(n1) || isNaN(n2) || isNaN(n3) || isNaN(n4)){
  8.   alert('Rellene todos los campos e introduzca números válidos');
  9.  }else{
  10.   document.MyForm.resultado.value=n1+n2+n3+n4;
  11.  }
  12. }
  13. </script>
Esto valida que se rellenen los campos y que sean sólo números. También se podría hacer con expresiones regulares.

Saludos (:
  #3 (permalink)  
Antiguo 25/06/2010, 07:57
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar campos al hacer una suma

Hola

El problema lo tienes en el HTML, los campos no tienen value

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 25/06/2010, 08:10
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar campos al hacer una suma

No entiendo... ¿por qué no tienen value?
  #5 (permalink)  
Antiguo 25/06/2010, 08:13
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar campos al hacer una suma

Cita:
Iniciado por _cronos2 Ver Mensaje
No entiendo... ¿por qué no tienen value?
por que no pulsado las teclas V-A-L-U-E??

Cita:
<input type="text" name="numero4" size="20">
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 25/06/2010, 17:14
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar campos al hacer una suma

¿Pero para qué le tiene que dar un value ? El código valida que los campos estén llenos y que sean números.
  #7 (permalink)  
Antiguo 26/06/2010, 03:54
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar campos al hacer una suma

Hola

Lo haces todo demasiado complicado. Prueba el código de @toninito tal y como está y después pruebalo con el atributo. Ese responderá a tu pregunta. Verás que al no tener valor el campo no se puede validar
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 26/06/2010, 06:11
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar campos al hacer una suma

Pero la validación la necesita igual, porque si le pone de value 0 a cada text y alguien le borra ese 0, le devuelve NaN.
  #9 (permalink)  
Antiguo 26/06/2010, 13:22
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar campos al hacer una suma

Hola

Al parecer si que se puede validar, en navegadores mas antiguos no funcionaría.
Solo hay dos tipos de campos que no pueden tener el atributo value (file y textarea).
Si al resto de tipos no tienen value, no da error, pero no es correcto
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #10 (permalink)  
Antiguo 26/06/2010, 13:31
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar campos al hacer una suma

Ah, pues eso no lo sabía.

Etiquetas: sumas
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 20:32.