Foros del Web » Programando para Internet » Javascript »

Comprobar cajas de texto

Estas en el tema de Comprobar cajas de texto en el foro de Javascript en Foros del Web. Bueno, he recuperado de uno de los foros la siguiente función, que sirve para comprobar si unas cajas coloreadas tienen contenido o no. Pero no ...
  #1 (permalink)  
Antiguo 18/08/2005, 02:44
 
Fecha de Ingreso: diciembre-2004
Ubicación: Madrid
Mensajes: 550
Antigüedad: 19 años, 4 meses
Puntos: 28
Pregunta Comprobar cajas de texto

Bueno, he recuperado de uno de los foros la siguiente función, que sirve para comprobar si unas cajas coloreadas tienen contenido o no. Pero no sé si me sirve para lo que yo pretendo, que es bastante parecido. Yo quiero que me compruebe si en dos cajas de texto hay contenido o no. Si en alguna de las dos no lo hay, quiero que salte un alert, hasta que las dos cajas estén rellenas. ¿Qué tendría que cambiar de esta función?

function check(){
var mal=false;
numero=document.forms[0].elements.length;
for(a=0;a<numero;a++){
if (document.forms[0].elements[a].value==""){
document.forms[0].elements[a].style.backgroundColor="#ffffcc";mal=true;
}
else{
document.forms[0].elements[a].style.backgroundColor="white";}
}
if(mal){alert("Por favor, rellene las cajas coloreadas");}
else{document.forms[0].submit()}

}
  #2 (permalink)  
Antiguo 18/08/2005, 02:53
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 Ember

Si solo tienes que validar 2 cajas de texto, creo que lo más sencillo es esto:
Código PHP:
  if (document.forms[0]['obligatorio1'].value=='' or
    
document.forms[0]['obligatorio2'].value=='')
      
alert('Error');
  else
    
document.forms[0].submit() 
Saludos,
  #3 (permalink)  
Antiguo 18/08/2005, 05:00
 
Fecha de Ingreso: diciembre-2004
Ubicación: Madrid
Mensajes: 550
Antigüedad: 19 años, 4 meses
Puntos: 28
Una pregunta tonta, pero así me aclaro del todo. 'obligatorio1' y 'obligatorio2' ¿son los nombres de las cajas de texto? Y otra cosita. ¿Cambiaría algo si en vez de haber una caja de texto hay un select?
Muchas gracias.
  #4 (permalink)  
Antiguo 18/08/2005, 05:45
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 de nuevo.

Si, son los nombres de los controles que quieres validar. También te funcionará con un select si pones algo así:

<select name="obligatorio2">
<option>Elegir</option>
<option value="algo">Algo</option>
</select>

Por cierto, me acabo de dar cuenta de que hay un error en el código que te puse. Debe quedar así:
Código PHP:
if (document.forms[0]['obligatorio1'].value=='' ||
    
document.forms[0]['obligatorio2'].value=='')
      
alert('Error');
  else
    
document.forms[0].submit() 
Espero que te sirva. Saludos,
  #5 (permalink)  
Antiguo 18/08/2005, 05:50
 
Fecha de Ingreso: junio-2005
Ubicación: ¡Qué te importa!
Mensajes: 9
Antigüedad: 18 años, 10 meses
Puntos: 0
Sí, obligatorio1 y obligatorio2 son las cajas de texto. Puede ser una pregunta tonta, pero uno no siempre tiene que saberlo todo
El problema es que yo nunca ví un select con opciones que esté vacío...
La alternativa es que el alerta se muestre cuando una de las opciones es seleccionada:
"document.forms[0]['nombre_del_select'].selectedIndex==n", donde "n" es la opción que muestra el alert.
¡¡¡El código de arriba tiene un error!!!
Te lo corrijo:
Código PHP:
if (document.forms[0]['obligatorio1'].value=='' ||
    
document.forms[0]['obligatorio2'].value==''
      
alert('Error'); 
  else 
    
document.forms[0].submit() 
El errror era que,en vez del "or" van los signos ||
---
Edito el mensaje: parece que JavierB y yo escribimos el mensaje a la vez y ya corrigió el error del código, así que tenés dos respuestas.
  #6 (permalink)  
Antiguo 18/08/2005, 07:59
 
Fecha de Ingreso: diciembre-2004
Ubicación: Madrid
Mensajes: 550
Antigüedad: 19 años, 4 meses
Puntos: 28
Funcionar funciona, eso es cierto, pero tengo otro problema. Ese campo te texto (es lógico olvidarse del select) está dentro de un div, de tal forma que hay unos campos de texto fijos y ese campo de texto aparece solo cuando se pulsa un checkbox. Entonces, el problema es que desde el principio me dice que el campo de texto está vacío y debo rellenarlo, pero a lo mejor está oculto y yo solo quiero que me salte el alert cuando sea vea el div y el campo de texto esté vacío. ¿Qué tendría que hacer? Imagino que poner un if que distinga eso, ¿no?
Muchas 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 03:39.