Foros del Web » Programando para Internet » Javascript »

validacion de campos nulos¡

Estas en el tema de validacion de campos nulos¡ en el foro de Javascript en Foros del Web. Estoy probando un pequeño formulario donde necesti que valide las casillas vacias, y el codigo es: Código PHP: <html>  <body>  </SCRIPT>   <SCRIPT language=JavaScript>  <!-- function valida() {  if (lectura.lec.value == "") //comprueba si el campo lectura esta vacío   {    alert ("El ingreso de la Lectura es obligatorio.");   ...
  #1 (permalink)  
Antiguo 01/07/2003, 15:57
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 3 meses
Puntos: 0
validacion de campos nulos¡

Estoy probando un pequeño formulario donde necesti que valide las casillas vacias, y el codigo es:

Código PHP:
<html>
 <body>
 </SCRIPT>
  <SCRIPT language=JavaScript>
 <!-- function valida() {  if (lectura.lec.value == "") //comprueba si el campo lectura esta vacío  
{   
alert ("El ingreso de la Lectura es obligatorio.");  
 lectura.lec.focus();   //posicionarse en el campo vacío   
return false;  
}   
if ( (lectura.lec.fec == "")  {  
 alert ("El ingreso de la Fecha es obligatorio.");   
lectura.fec.focus();   //posicionarse en el campo vacío   
return false;  

--> 
</SCRIPT>  
<form name=lectura method="post" action="add_reg.php"
 onsubmit="return valida();"> 
Cuenta :<input type="Text" name="cta" value="<? echo $cta;?>"><br> 
Lectura:<input type="Text" name="lec"><br> 
Fecha  :<input type="Text" name="fec"><br> 
<input type="Submit" 
name="enviar" 
value="Aceptar información"> 
</form> 
</body> 
</html>
no se por que no funciona si lo saque de un ejemplo que si funcionaba, ojala me puedan responder.

Saludos
Reckba

Última edición por KarlanKas; 02/07/2003 a las 00:54
  #2 (permalink)  
Antiguo 01/07/2003, 16:40
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Por favor, dale a un botoncito que pone editar en tu mensaje y vuelve a escribir el código para que se pueda leer en condiciones.

Par empezar te comento que tienes una etiqueta de cierre (</SCRIPT>) sin que antes se haya abierto ninguna. Te faltan algunas comillas por ahí y hay un fragmento de código PHP.

Revisalo y luego miramos qué se puede hacer.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 01/07/2003, 16:46
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Copia esto tal cual y ya verás como te funciona:

Código:
<html>
<body>
<SCRIPT language=JavaScript>
<!-- 
function valida() {
if (lectura.lec.value == "") //comprueba si el campo lectura esta vacío
  {
  alert ("El ingreso de la Lectura es obligatorio.");
  lectura.lec.focus();   //posicionarse en el campo vacío
  return false;
  }
if (lectura.fec.value == "")
  {alert ("El ingreso de la Fecha es obligatorio.");
  lectura.fec.focus();   //posicionarse en el campo vacío
  return false;}
}
-->
</SCRIPT>
<form name="lectura" method="post" action="add_reg.php" onsubmit="return valida();">
Cuenta :<input type="Text" name="cta" value="<? echo $cta;?>"><br>
Lectura:<input type="Text" name="lec"><br>
Fecha  :<input type="Text" name="fec"><br>
<input type="Submit" name="enviar" value="Aceptar información">
</form>
</body>
</html>
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!

Última edición por Bravenap; 01/07/2003 a las 16:49
  #4 (permalink)  
Antiguo 01/07/2003, 17:16
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 3 meses
Puntos: 0
bravenap probe el codigo que pusiste y no me funciona me tira los mismos errores.

ah¡ con que boton cargo el codigo ordenado

Saludos
Reckba
  #5 (permalink)  
Antiguo 01/07/2003, 17:18
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
¿y cuáles son esos errores? Porque a mí me ha funcionado perfectamente.

El botón de editar está a la derecha del todo de la página, al finalde cada mensaje.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #6 (permalink)  
Antiguo 01/07/2003, 17:25
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 3 meses
Puntos: 0
no me tira errores simplemente se va al add_reg.php

Saludos
Reckba
  #7 (permalink)  
Antiguo 01/07/2003, 17:29
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 3 meses
Puntos: 0
Aqui esta el codigo que probe:

<html>
<body>
<SCRIPT language=JavaScript>
<¡--
function valida(){
if (lectura.lec.value == "")
{
alert ("El ingreso");
lectura.lec.focus();
return false();
}
if (lectura.fec.value =="")
{alert ("el in");
lectura.fec.focus();
return false;}
}
-->
</SCRIPT>
<form name="lectura" method="post" action="add_reg.php" onsubmit="return valida();">
Cuenta :<input type="Text" name="cta" value="<? echo $cta;?>"><br>
Lectura:<input type="Text" name="lec"><br>
Fecha :<input type="Text" name="fec"><br>
<input type="Submit" name="enviar" value="Aceptar información">
</form>
</body>
</html>
  #8 (permalink)  
Antiguo 01/07/2003, 17:35
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Vale, usa esto:

Código:
<html>
<body>
<SCRIPT language=JavaScript>
<!-- 
function valida() {
if (lectura.lec.value == "") //comprueba si el campo lectura esta vacío
  {
  alert ("El ingreso de la Lectura es obligatorio.");
  lectura.lec.focus();   //posicionarse en el campo vacío
  return false;
  }
if (lectura.fec.value == "")
  {alert ("El ingreso de la Fecha es obligatorio.");
  lectura.fec.focus();   //posicionarse en el campo vacío
  return false;}
lectura.submit();
}
-->
</SCRIPT>


<form name="lectura" method="post" action="add_reg.php">
Cuenta :<input type="Text" name="cta" value="<? echo $cta;?>"><br>
Lectura:<input type="Text" name="lec"><br>
Fecha  :<input type="Text" name="fec"><br>
<input type="button" name="enviar" value="Aceptar información" onClick="return valida();">
</form>
</form>
</body>
</html>
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #9 (permalink)  
Antiguo 01/07/2003, 17:55
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 3 meses
Puntos: 0
acabo de probar tu codigo y no me funciona, la veredad que no se como les funciona a Uds.

Saludos
Reckba
  #10 (permalink)  
Antiguo 02/07/2003, 00:32
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Si te has fijado se me ha colado una etiqueta de más. Has de quitar un </form>.

De todas formas, ¿estés seguro de que el error está en este código? Pudiera ser que hubiera algún fallo en el resto del código de la página o que no funcionen correctamente las instrucciones PHP. Revisa todo concienzudamente y asegúrate que se introduce adecuadamente la variable $cta y que se recogen los datos adecuadamente en add_reg.php.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #11 (permalink)  
Antiguo 02/07/2003, 00:55
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Perdonad que me entrometa. La forma de Bravenap funciona estupendamente. Sin embargo, por probar nuevas formas propongo esta a ver si va mejor:

Código PHP:
<html>
<body>
<SCRIPT language=JavaScript>
<!-- 
aviso=["","Lectura","Fecha"]
function valida() {
for (a=1;a<3;a++){
if (document.forms[0].elements[a].value == ""){
    document.forms[0].elements[a].style.background="#ffffcc";
      alert ("El ingreso de la "+aviso[a]+" es obligatorio.");
    document.forms[0].elements[a].focus();
      return false;
  }
  else{document.forms[0].elements[a].style.background="white";
  }
}
document.forms[0].submit();
}
-->
</SCRIPT>


<form name="lectura" method="post" onsubmit="return valida();" action="add_reg.php">
Cuenta :<input type="Text" DISABLED name="cta" value="<? echo $cta;?>"><br>
Lectura:<input type="Text" name="lec"><br>
Fecha  :<input type="Text" name="fec"><br>
<input type="submit" name="enviar" value="Aceptar información" >
</form>
</body>
</html>
He añadido un disabled al primer input ya que creo que no interesa que se modifique, no? en cualqueir caso se puede quitar y fuera.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 02/07/2003 a las 00:57
  #12 (permalink)  
Antiguo 02/07/2003, 01:02
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Pues sí karlankas, tú como siempre mejorando las cosas

Pero me temo que el problema no va a estar en el código, ni el tuyo ni el mio, sino en algún otro sitio por ahí escondido.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #13 (permalink)  
Antiguo 02/07/2003, 01:07
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Y esta forma es compatible con NS 4.7

Código:
<html>
<body>
<SCRIPT language=JavaScript>

aviso=new Array("","Lectura","Fecha")
function valida() {
for (a=1;a<3;a++){
if (document.forms[0].elements[a].value == ""){

  	alert ("El ingreso de la "+aviso[a]+" es obligatorio.");
    document.forms[0].elements[a].focus();
  	return false;
  }

}
document.forms[0].submit();
}

</SCRIPT>


<form name="lectura" method="post" action="add_reg.php">
Cuenta :<input type="Text" name="cta" value="<? echo $cta;?>"><br>
Lectura:<input type="Text" name="lec"><br>
Fecha  :<input type="Text" name="fec"><br>
<input type="button"   onClick="return valida();" name="enviar" value="Aceptar información" >
</form>
</body>
</html>
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #14 (permalink)  
Antiguo 02/07/2003, 01:08
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Me da que tienes razón, va a ser un fallo en el código del resto de la página. Aunque lo que me sorprende es que lo envíe...

Y lo mío no es una mejora, es otro enfoque. Es que desde que descubrí los "form elements" estoy encantado.

Que sueño más grandee!!

Un saludo!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 02/07/2003 a las 01:11
  #15 (permalink)  
Antiguo 02/07/2003, 01:10
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Bueno sí, otro enfoque, pero "mu pofessional"
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #16 (permalink)  
Antiguo 02/07/2003, 01:12
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
jejeje! Edité el mensaje anterior, y creo que te doy reespuesta ahí... son los "form elements" que me encantan!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #17 (permalink)  
Antiguo 04/07/2003, 08:19
 
Fecha de Ingreso: enero-2003
Mensajes: 286
Antigüedad: 21 años, 3 meses
Puntos: 0
Buenos Dias¡

Realmente no se que es lo que pasa he probado de varias formas con php estuve cerca pero al cargar el formulario me arrojaba los mensajes de error pero si valida y ahora probe de otra forma mezclando php co java y no valida llega y envia al "add_reg.php", el codigo es :

<html>
<body>
<SCRIPT language=JavaScript>
<¡--
function valida(){
if ($C == 1)
{
alert ("El Rango de lectura es incorrecto");
lectura.dia.focus();
return false();
}
if ($B == 1)
{alert ("Debe ingresar el campo lectura");
lectura.fec.focus();
return false;}
if ($A == 1)
{alert ("Debe ingresar una fecha valida");
lectura.dia.focus();
return false;}
lectura.submit();
}
-->
</SCRIPT>
<?
$me = date("n");
$an = date("Y");

if (! checkdate($mes, $dia,$ano))
{
$A = 1;
}

if ($lec==""){
$B = 1;
}
if ($ano==$an AND $me==$mes AND $dia<25){
echo "<H2>Rango correcto</H2>";
}else{
if ($an==$ano AND $mes+1==$me AND $dia>25){
echo "<H2>Rango correcto</H2>";
}
else {
$C = 1;
}
}

?>
<form name="lectura" method="post" action="add_reg.php">
Cuenta :<input type="Text" name="cta" value=<? echo $cta ?>><br>
Lectura:<input type="Text" name="lec" VALUE=<? echo $lec ?>><br>
Fecha :<input name="dia" size=2 MAXSIZE=2 VALUE=<? echo $dia ?>>
/<input name="mes" size=2 MAXSIZE=2 VALUE=<? echo $mes ?>>
/<input name="ano" size=2 MAXSIZE=2 VALUE=<? echo $ano ?>><br>
<input type="Submit" name="enviar" value="Aceptar información" onClick="return valida();">
</form>

</body>
</html>

Saludos
Reckba
  #18 (permalink)  
Antiguo 06/07/2003, 13:43
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
No tengo ni idea de PHP, pero esta parte (y otras)

Código:
function valida(){
if ($C == 1)
no debería ser así:

Código:
function valida(){
if (<?$C?> == 1)
Se supone que ahí estás mezclando código PHP con Javascript y el navegador nunca va a reconocer PHP, eso es cosa del servidor.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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 15:43.