Foros del Web » Programando para Internet » Javascript »

script no funca (???)

Estas en el tema de script no funca (???) en el foro de Javascript en Foros del Web. Hola gente's!!! cómo andan? Miren, tengo el siguiente código, que es de una encuesta y lo que quiero es que una vez mandado el formulario, ...
  #1 (permalink)  
Antiguo 11/02/2003, 20:08
 
Fecha de Ingreso: mayo-2002
Ubicación: Mendoza ebria y montañosa
Mensajes: 165
Antigüedad: 22 años
Puntos: 0
script no funca (???)

Hola gente's!!! cómo andan?

Miren, tengo el siguiente código, que es de una encuesta y lo que quiero es que una vez mandado el formulario, verifique que estén todos los datos, a ver, para que vean mejor, el codigo es este:


<html>
<head>
<title>Crear encuesta [2] - MendoZarpate.com.ar</title>

<script LANGUAGE="JavaScript">
function Validar(form,cantrespuestas){

for(i=1;i<=cantrespuestas;i++){
if (form.i.value == "") //esta linea es la que no anda (?)
{ alert("Te faltó llenar un campo"); form.i.focus(); return; }
}

form.submit();
}
</script>

</head>

<body>
<p>Para la pregunta: <b>¿a guto no?</b>,
cantidad de respuestas = <b>4</b></p>

<form method="POST" action="encuesta/crear3.php">
<p>Respuesta n° 1</p>
<input type='text' name=1 size='20'>
<p>Respuesta n° 2</p>
<input type='text' name=2 size='20'>
<p>Respuesta n° 3</p>
<input type='text' name=3 size='20'>
<p>Respuesta n° 4</p>
<input type='text' name=4 size='20'>
<p>
<input type="button" value="Crear" onClick="Validar( this.form,4 )">
</p>
</form>

</body>
</html>

qué es lo que esta andando mal, por lo que veo el if (form.i.value == "") no toma como un objeto de formulario a "i", pero no veo porque de no hacerlo si es un entero y así está definido...

se agradece,
__________________
chapu
  #2 (permalink)  
Antiguo 11/02/2003, 21:53
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 3 meses
Puntos: 4
Hola Chapu!

Tu script no lo entiendo bien, pero donde escribes
(form.i.value == "") le estás pidiendo el "valor" del campo de nombre "i" del "formulario" y ahí hay un error, ya que no hay ningún campo llamado "i".

Pienso que no deberías complicarte. Creo que podrías utilizar una forma más simple de validar el formulario:

Código:
<script languaje="javascript">
function Validar(form)
{
if (form.campo.value == "")
    { alert("Por favor, completa todos los campos."); return; }

form.submit();
}
</script>
Lo que sí, deberías cambiar el nombre del campo, por uno que comience por una letra y no un número.
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #3 (permalink)  
Antiguo 12/02/2003, 04:53
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


Turka tiene razón en lo que dice, sin embargo hay otra forma de tratar los formularios que creo que es la que quiere utilizar chapu y es la siguiente:


<html>
<head>

<script>
function Validar(form){

for(i=0;i<form.length;i++){
if (form.elements[i].value == "") //esta linea es la que no anda (?)
{ alert("Te faltó llenar el campo "+(i+1)); form.elements[i].focus(); return; }
}

form.submit();
}
</script>
</head>
<body>

<p>Para la pregunta: <b>¿a gusto no?</b><br>

<form method="POST" action="encuesta/crear3.php">
<p>Respuesta n° 1</p>
<input type='text' name=1 size='20'>
<p>Respuesta n° 2</p>
<input type='text' name=2 size='20'>
<p>Respuesta n° 3</p>
<input type='text' name=3 size='20'>
<p>Respuesta n° 4</p>
<input type='text' name=4 size='20'>
<p>
<input type="button" value="Crear" onClick="Validar( this.form)">
</p>
</form>

</body>
</html>


Utilizando el array elements que tiene todo formulario. Como ves,
chapu he quitado la variable de numero de respuestas porque se puede descubrir con una simple instrucción.

Si tienes cualquier duda pregunta, eh?

Turka!! Hoy nos encontramos en todos los posts, eh?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 12/02/2003, 04:59
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 3 meses
Puntos: 4
Muy bien!!! No se me había ocurrido, pero es cierto!
Este script te viene bárbaro y además, Chapu, te sirve para un post anterior que habías colocado (el de los radio button).
Mataste 2 pájaros de un tiro!


Cita:
Mensaje Original por KarlanKas
Turka!! Hoy nos encontramos en todos los posts, eh?
[/FONT]
KarlanKas!!! mmmmmmm, Me siento perseguida
jajajaja
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar
  #5 (permalink)  
Antiguo 12/02/2003, 12:09
 
Fecha de Ingreso: mayo-2002
Ubicación: Mendoza ebria y montañosa
Mensajes: 165
Antigüedad: 22 años
Puntos: 0
miercoles, que rapidez para contestar!!!

Hola muchachos!!
Muchas gracias a los dos por la ayuda!!!!

el script de KarlanKas me sirve justo para lo que quería hacer...
no sabía del "elements[i]"

chauchas!
__________________
chapu
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 23:44.