Foros del Web » Programando para Internet » Javascript »

validacion de formulario error

Estas en el tema de validacion de formulario error en el foro de Javascript en Foros del Web. simplemente tengo conocicmientos pobres sobre javascript... y ya me estoy volviendo loco... por que esto no me va? Código HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...
  #1 (permalink)  
Antiguo 15/01/2011, 15:20
Avatar de soypepepompin  
Fecha de Ingreso: noviembre-2010
Mensajes: 106
Antigüedad: 13 años, 5 meses
Puntos: 1
validacion de formulario error

simplemente tengo conocicmientos pobres sobre javascript...

y ya me estoy volviendo loco...

por que esto no me va?


Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>formulario</title>



<SCRIPT LANGUAGE="JavaScript"> 
function valida_envia() { 

var s = "no"; 
	with (document.form)
	{ 
		for ( var i = 0; i < plan.length; i++ ) 
		{ 
			if ( plan[i].checked ) 
			{ 
				s= "si"; 
				//window.alert("Ha seleccionado: \n" + plan[i].value);
				form.plan[i].focus(); return 

			} 
		} 
	
		if ( s == "no" )
		{ 
		window.alert("Debes seleccionar un plan" ) ; 	
		return;
		} 
	} 

form.submit();

} 
</SCRIPT> 


</head>

<body>
    
    <form name="form" action="" method="post" enctype="multipart/form-data">
      <p><input name="plan" type="radio" value="1" <?php echo $activado1 ?> />
      Opcion 1</p>
      <p>
        <input type="radio" name="plan" value="2" <?php echo $activado2 ?>/>
      Opcion 2</p>
      <p>
        <input type="radio" name="plan" value="3" <?php echo $activado3 ?>/>
      Opcion 3</p>
      <p>
        <input name="plan" type="radio" value="4" <?php echo $activado4 ?> /> 
        Opcion 4      </p>
      <p>
        <input name="plan" type="radio" value="5" <?php echo $activado5 ?> />
        Opcion 5      </p>
      <p>
        <input name="plan" type="radio" value="6" <?php echo $activado6 ?> /> 
      Opcion 6</p>
      <p>
      
       <input type="button" onclick="location.href = 'atras.php?mod=1'" value="&lt; Anterior" class="bot1-2"> 
        
       &nbsp;
              
       <input name="button" type="button" class="bot1" onclick = "this.form.action = 'prosesa.php'; this.form.target = '_self';  valida_envia();" value="Siguiente &gt;" />
</p>
      
</form>

</body>
</html> 
  #2 (permalink)  
Antiguo 15/01/2011, 16:27
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: validacion de formulario error

1- algunos navegadores no soportan las referencias directas, por lo que deben usarse las colecciones:

with (document.forms['form'])

2- se asume dentro del bloque with que no hay que referirse al elemento:

//form.plan[i].focus(); return //mal
return plan[i].focus(); //bien

3- return [return value]; no al revés

4- ¿para que existen las variables booleanas?:

var s = false; //"no";
...
s= true; //"si";
...
if ( s ) //if ( s == "no" )
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 15/01/2011, 16:35
Avatar de soypepepompin  
Fecha de Ingreso: noviembre-2010
Mensajes: 106
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: validacion de formulario error

Bien, realice todas las correcciones pero sigue sin funcionar...



Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>formulario</title>



<SCRIPT LANGUAGE="JavaScript"> 
function valida_envia() { 

var s = "no"; 
	with (document.forms['form'])
	{ 
		for ( var i = 0; i < plan.length; i++ ) 
		{ 
			if ( plan[i].checked ) 
			{ 
				s= "si"; 
				//window.alert("Ha seleccionado: \n" + plan[i].value);
				return plan[i].focus();

			} 
		} 
	
		if ( s == "no" )
		{ 
		window.alert("Debes seleccionar un plan" ) ; 	
		return;
		} 
	} 

form.submit();

} 
</SCRIPT> 


</head>

<body>
    
    <form name="form" action="" method="post" enctype="multipart/form-data">
      <p><input name="plan" type="radio" value="1" <?php echo $activado1 ?> />
      Opcion 1</p>
      <p>
        <input type="radio" name="plan" value="2" <?php echo $activado2 ?>/>
      Opcion 2</p>
      <p>
        <input type="radio" name="plan" value="3" <?php echo $activado3 ?>/>
      Opcion 3</p>
      <p>
        <input name="plan" type="radio" value="4" <?php echo $activado4 ?> /> 
        Opcion 4      </p>
      <p>
        <input name="plan" type="radio" value="5" <?php echo $activado5 ?> />
        Opcion 5      </p>
      <p>
        <input name="plan" type="radio" value="6" <?php echo $activado6 ?> /> 
      Opcion 6</p>
      <p>
      
       <input type="button" onclick="location.href = 'atras.php?mod=1'" value="&lt; Anterior" class="bot1-2"> 
        
       &nbsp;
              
       <input name="button" type="button" class="bot1" onclick = "this.form.action = 'prosesa.php'; this.form.target = '_self';  valida_envia();" value="Siguiente &gt;" />
</p>
      
</form>

</body>
</html> 
  #4 (permalink)  
Antiguo 15/01/2011, 17:40
Avatar de soypepepompin  
Fecha de Ingreso: noviembre-2010
Mensajes: 106
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: validacion de formulario error

Modifique lo que has agregado en tu edicion de tu respusta pero esta peor...


Código PHP:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>formulario</title>



<SCRIPT LANGUAGE="JavaScript"> 
function valida_envia() { 

var s = false;
    with (document.forms['form'])
    { 
        for ( var i = 0; i < plan.length; i++ ) 
        { 
            if ( plan[i].checked ) 
            { 
                s= true; 
                //window.alert("Ha seleccionado: \n" + plan[i].value);
                return plan[i].focus();

            } 
        } 
    
        if (s)
        { 
        window.alert("Debes seleccionar un plan" ) ;     
        return;
        } 
    } 

form.submit();


</SCRIPT> 


</head>

<body>
    
    <form name="form" action="" method="post" enctype="multipart/form-data">
      <p><input name="plan" type="radio" value="1" <?php echo $activado1 ?> />
      Opcion 1</p>
      <p>
        <input type="radio" name="plan" value="2" <?php echo $activado2 ?>/>
      Opcion 2</p>
      <p>
        <input type="radio" name="plan" value="3" <?php echo $activado3 ?>/>
      Opcion 3</p>
      <p>
        <input name="plan" type="radio" value="4" <?php echo $activado4 ?> /> 
        Opcion 4      </p>
      <p>
        <input name="plan" type="radio" value="5" <?php echo $activado5 ?> />
        Opcion 5      </p>
      <p>
        <input name="plan" type="radio" value="6" <?php echo $activado6 ?> /> 
      Opcion 6</p>
      <p>
      
       <input type="button" onclick="location.href = 'atras.php?mod=1'" value="&lt; Anterior" class="bot1-2"> 
        
       &nbsp;
              
       <input name="button" type="button" class="bot1" onclick = "this.form.action = 'prosesa.php'; this.form.target = '_self';  valida_envia();" value="Siguiente &gt;" />
</p>
      
</form>

</body>
</html>
  #5 (permalink)  
Antiguo 15/01/2011, 18:59
Avatar de soypepepompin  
Fecha de Ingreso: noviembre-2010
Mensajes: 106
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: validacion de formulario error

Nadie sabe?
  #6 (permalink)  
Antiguo 15/01/2011, 19:30
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: validacion de formulario error

No entiendo lo que quieres hacer en la función valida_envia().
Si tachas un elemento, le pone el foco y se para. Si no tachas ninguno, te saca un alert y se para. Si quieres pedir ayuda, empieza explicando lo que quieres, en vez de sólo pegar el código.
  #7 (permalink)  
Antiguo 15/01/2011, 22:25
Avatar de soypepepompin  
Fecha de Ingreso: noviembre-2010
Mensajes: 106
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: validacion de formulario error

hu perdon crei que era cosa comun para ustedes este codigo

bueno en realidad es simple. si no picas en ninguna opcion tiene que tirar un alerta diciendo que tienes que seleccionar una opcion. y si seleccionas una opcion simplemente envia el formualario. osea todo esto cuando el das al boton siguiente

Se entiende.? pero no envia el form, y cuando le puse el valor voleano a la funcion no trabajo mas el formulario. no hace nada...

Alguien sabe que estoy haciendo mal?
  #8 (permalink)  
Antiguo 16/01/2011, 00:21
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: validacion de formulario error

Hola:

El formulario es "no-accesible" al carecer de botón submit, y supongo que el botón atrás podría ser un reset...

El botón siguiente debería ser tipo submit, y la validación debes hacerla en el tag form:
<form onsubmit="return validar(this)"

Luego en validar pones return false para cancelar el envío... y te recomiendo que también valides en el servidor.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 16/01/2011, 06:14
Avatar de soypepepompin  
Fecha de Ingreso: noviembre-2010
Mensajes: 106
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: validacion de formulario error

Hola caricatos, y que me faltaria en el boton siguiente?

En el form me quedo asi

<form onsubmit="return validar(this)"; name="form" action="" method="post" enctype="multipart/form-data">

y aca en este boton se bien que ponerle


<input name="button" type="button" class="bot1" onclick = " this.form.action = 'prosesa.php'; this.form.target = '_self'; valida_envia();" value="Siguiente &gt;" />

En el otro boton anterior no es un reset sino que simplemente vuelve atras porque son varios pasos de un formulario.

a que te refieres con que valide en el servidor? a que valide con php?
  #10 (permalink)  
Antiguo 17/01/2011, 04:59
Avatar de soypepepompin  
Fecha de Ingreso: noviembre-2010
Mensajes: 106
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: validacion de formulario error

.


Nadie?
  #11 (permalink)  
Antiguo 17/01/2011, 14:25
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: validacion de formulario error

Código:
<SCRIPT LANGUAGE="JavaScript"> 
function valida_envia() { 
	var s = false;
    with (document.forms['form'])
    {
        for ( var i = 0; i < plan.length; i++ ) 
        { 
            if ( plan[i].checked ) 
            { 
                s= true; 
                break;

            } 
        } 
        if (!s)
        {
        window.alert("Debes seleccionar un plan" );     
        return false;
        }
		submit();
    } 
} 
</SCRIPT>
  #12 (permalink)  
Antiguo 17/01/2011, 14:28
Avatar de soypepepompin  
Fecha de Ingreso: noviembre-2010
Mensajes: 106
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: validacion de formulario error

Muchas gracias Marlanga ahora funciona !!!

Sos un groso, te doy las gracias de verdad.

Un saludos a vos y a todos lo que me han ayudado

Saludos!

Etiquetas: formulario
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 00:26.