Hola a todos, he echo un formulario i ahora quiero validar sus campos pero quando le doy a enviar no me sale la alerta de que te dejas un campo por rellenar.
Aquí dejo el codigo:
Porfavor ayudadme!!!
<html>
<head>
<title>Formulario para el curso</title>
<script>
function valida_envia(){
//valido el nombre
if (document.fvalida.nombre.value.length==0){
alert("Tiene que escribir su nombre")
document.fvalida.nombre.focus()
return0;
}
//valido la edad. Tiene que ser entero mayor que 18
edad = document.fvalida.edad.value
edad = ValidarEntero(edat)
document.fvalida.edad.value=edat
if(edat==""){
alert("Tiene que indicar su edad")
document.fvalida.edad.focus()
return 0;
}else{
if (edad<18){
alert("Debe ser mayor de 18 años.")
document.fvalida.edad.focus()
return 0;
}}
//valido el correo electrónico
if (document.fvalida.email.value.length==o){
alert("Tiene que poner su correo electrónico")
document.fvalida.email.focus()
return 0;
}
//valido el teléfono móvil.
telm = document.fvalida.telm.value
telm = ValidarEntero(telm)
document.fvalida.telm.value=telm
if(telm==""){
alert("Tiene que poner su teléfono móvil")
document.fvalida.telm.focus()
return 0;
}
//valido el telefono fijo.
telf = document.fvalida.telf.value
telf = ValidarEntero(telf)
document.fvalida.telf.value=telf
if(telf==""){
alert("Tiene que poner su teléfono fijo")
document.fvalida.telf.focus()
return 0;
//valio si tienes experiencia.
if(document.fvalida.experiencia.value.length==0){
alert("Tienes que rellenar el campo de si tienes experiencia")
document.fvalida.experiencia.focus()
return 0;
}
//valio como te has enterado.
if(document.fvalida.curso.value.length==0){
alert("Tienes que rellenar el campo de com te has enterado del curso")
document.fvalida.curso.focus()
return 0;
}
//valido si tomas algún medicamento.
if(document.fvalida.medicamentos.value.length==0){
alert("Tienes que rellenar el campo de si tomas algun medicamento.")
document.fvalida.medicamentos.focus()
return 0;
}
</script>
</head>
<body>
<form name="fvalida" method="post" action="enviar2.php">
Nombre:
<input type="text" name="nombre" size="12">
<br>
<br>
Edad:
<input type="text" name="edad" size="12" maxlength="2">
<br>
<br>
Correo electrónico:
<input type="text" name="email" size="12">
<br>
<br>
Teléfono Móvil:
<input type="text" name="telm" size="12" maxlength="9">
<br>
<br>
Teléfon Fijo:
<input type="text" name="telf" size="12" maxlength="9">
<br>
<br>
<table>
<tr>
<td>
¿Tienes coche?
</td>
<td>
<input type="radio" name="coche"
value="sí">
Si.<br>
<input type="radio" name="coche"
value="no">
No.<br>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td colspan="2" valign="top">
¿Tienes alguna experiencia?</td>
<td><textarea name="experiencia" cols="30 rows="5">
</textarea>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td colspan="2" valign="top">
¿Como te has enterado del curso?</td>
<td><textarea name="curso" cols="30" rows="5">
</textarea>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td>
¿Eres Vegetariano/a?
</td>
<td>
<input type="radio" name="vegeteriano"
value="sí">
Si.<br>
<input type="radio" name="vegetariano"
value="no">
No.<br>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td colspan="2" valign="top">
¿Tomas algún medicamento? ¿Qual?</td>
<td><textarea name="medicamentos" cols="30" rows="5">
</textarea>
</td>
</tr>
</table>
<br>
<br>
<br>
<input type="button" value="Enviar" onclick="valida_envia()">
<input type="reset" value="Borrar" name="borrar">
</table>
</form>
</body>
</html>
Donde esta la funcion ValidarEntero? ademas de que tienes errores en los nombre de las variables colocaste edat y es edad. y cosas como return0; :xD
Cita de: Leyer en 30 Diciembre 2011, 19:16 PM
Donde esta la funcion ValidarEntero? ademas de que tienes errores en los nombre de las variables colocaste edat y es edad. y cosas como return0; :xD
He arreglado lo que dices pero continua sin funcionarme.
Si no lo conseguimos arreglar si alguien sabe otra forma de validarlo que lo diga porfavor :) :)
Falta colocar la funcion validarnumero
function valida_envia(){
//valido el nombre
if (document.fvalida.nombre.value.length==0){
alert("Tiene que escribir su nombre")
document.fvalida.nombre.focus()
return 0;
}
//valido la edad. Tiene que ser entero mayor que 18
edad = document.fvalida.edad.value
if(edad==""){
alert("Tiene que indicar su edad")
document.fvalida.edad.focus()
return 0;
}else{
if (edad<18){
alert("Debe ser mayor de 18 años.")
document.fvalida.edad.focus()
return 0;
}
}
//valido el correo electrónico
if (document.fvalida.email.value.length==0){
alert("Tiene que poner su correo electrónico")
document.fvalida.email.focus()
return 0;
}
//valido el teléfono móvil.
telm = document.fvalida.telm.value
document.fvalida.telm.value=telm
if(telm==""){
alert("Tiene que poner su teléfono móvil")
document.fvalida.telm.focus()
return 0;
}
//valido el telefono fijo.
telf = document.fvalida.telf.value
document.fvalida.telf.value=telf
if(telf==""){
alert("Tiene que poner su teléfono fijo")
document.fvalida.telf.focus()
return 0;
}
//valio si tienes experiencia.
if(document.fvalida.experiencia.value.length==0){
alert("Tienes que rellenar el campo de si tienes experiencia")
document.fvalida.experiencia.focus()
return 0;
}
//valio como te has enterado.
if(document.fvalida.curso.value.length==0){
alert("Tienes que rellenar el campo de com te has enterado del curso")
document.fvalida.curso.focus()
return 0;
}
//valido si tomas algún medicamento.
if(document.fvalida.medicamentos.value.length==0){
alert("Tienes que rellenar el campo de si tomas algun medicamento.")
document.fvalida.medicamentos.focus()
return 0;
}
}
Ahí tienes fallos de comillas abiertas pero no cerradas, fíjate que tu código se vuelve azul cuando lo posteas:
<td><textarea name="experiencia" cols="30 rows="5">
A veces son tonterías por lo que no nos salen las cosas, mira a ver si es una chorrada como esa.
<td><textarea name="experiencia" cols="30 rows='5'">
Mirad ahora lo tengo de esta manera pero sigue sin funcionarme:Citar
<html>
<head>
<title>Formulario para el curso</title>
<script language="javascript">
function valida_envia(form){
//valido el nombre
if (fvalida.nombre.value.length==0){
alert('Tiene que escribir su nombre');
fvalida.nombre.focus()
return 0;
}
//valido laedad
if (fvalida.edad.value.length==0){
alert('Tiene que escribir su edad');
fvalida.edad.focus()
return 0;
}
//valido el correo electrónico
if (fvalida.email.value.length==o){
alert('Tiene que poner su correo electrónico');
fvalida.email.focus()
return 0;
}
//valido el teléfono móvil.
if (fvalida.telm.value.length==0){
alert('Tiene que escribir su Teléfono Móvil');
fvalida.telm.focus()
return 0;
}
//valido el telefono fijo.
if (fvalida.telf.value.length==0){
alert('Tiene que escribir su Teléfono Fijo');
fvalida.telf.focus()
return 0;
}
//valio si tienes experiencia.
if(fvalida.experiencia.value.length==0){
alert('Tienes que rellenar el campo de si tienes experiencia');
fvalida.experiencia.focus()
return 0;
}
//valido como te has enterado.
if(fvalida.curso.value.length==0){
alert('Tienes que rellenar el campo de com te has enterado del curso');
fvalida.curso.focus()
return 0;
}
//valido si tomas algún medicamento.
if(fvalida.medicamentos.value.length==0){
alert('Tienes que rellenar el campo de si tomas algun medicamento.');
fvalida.medicamentos.focus()
return 0;
}
</script>
</head>
<body>
<form name="fvalida" method="post" action="enviar2.php" onSumbit="valida_envia(this);">
Nombre:
<input type="text" name="nombre" size="12">
<br>
<br>
Edad:
<input type="text" name="edad" size="12" maxlength="2">
<br>
<br>
Correo electrónico:
<input type="text" name="email" size="12">
<br>
<br>
Teléfono Móvil:
<input type="text" name="telm" size="12" maxlength="9">
<br>
<br>
Teléfon Fijo:
<input type="text" name="telf" size="12" maxlength="9">
<br>
<br>
<table>
<tr>
<td>
¿Tienes pareja?
</td>
<td>
<input type="radio" name="pareja"
value="sí">
Si.<br>
<input type="radio" name="pareja"
value="no">
No.<br>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td colspan="2" valign="top">
¿Tienes alguna experiencia?</td>
<td><textarea name="experiencia" cols="30 rows="5">
</textarea>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td colspan="2" valign="top">
¿Como te has enterado?</td>
<td><textarea name="curso" cols="30" rows="5">
</textarea>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td>
¿Eres Vegetariano/a?
</td>
<td>
<input type="radio" name="vegeteriano"
value="sí">
Si.<br>
<input type="radio" name="vegetariano"
value="no">
No.<br>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td colspan="2" valign="top">
¿Tomas algún medicamento? ¿Qual?</td>
<td><textarea name="medicamentos" cols="30" rows="5">
</textarea>
</td>
</tr>
</table>
<br>
<br>
<br>
<input type="submit" name="enviar" value="Enviar">
<input type="reset" value="Borrar" name="borrar">
</table>
</form>
</body>
</html>
No se si lo has conseguido arreglar, yo ya lo he arreglado, prueba esto en este orden, quizás yo hice demasiado:
1- No has cerrado corchetes de la función, abajo del todo antes de </script> te falta uno
2- No has escrito bien onSubmit, has puesto onSumbit
3- No has cerrado los "" que te dije en mi anterior mensaje.
4- Como le entras a la función valida_envia(form) En lugar de poner
(fvalida.nombre.value.length==0)
Se debería de poner
(form.nombre.value.length==0)
Pero de todas formas, aunque salga el mensaje este, se te va a la página "enviar2.php" y no hace lo del focus() (o si lo hace lo hace tan rápido que no se ve) Tienes que poner una condición para que cuando te salte la función no se te vaya a esa página.
Ten cuidado de estas pequeñas tonterías que se evitarían si mientras lo escribes tienes cuidado de lo que escribes y de que cierras todos los corchetes que abres.
Mira ahora lo he camviado un poco pero en teoria tiene que ir bien pero no me funciona:
<html>
<head>
<title>Formulario para el curso</title>
<script language="javascript">
function Valida(){
if(fvalida.nombre==""){alert('campo sin rellenar');return false;}
if(fvalida.edad==""){alert('campo sin rellenar');return false;}
if(fvalida.email==""){alert('campo sin rellenar');return false;}
if(fvalida.telm==""){alert('campo sin rellenar');return false;}
if(fvalida.telf==""){alert('campo sin rellenar');return false;}
if(fvalida.experiencia==""){alert('campo sin rellenar');return false;}
if(fvalida.curso==""){alert('campo sin rellenar');return false;}
if(fvalida.medicamentos==""){alert('campo sin rellenar');return false;}
}
</script>
</head>
<body>
<font face="arial">
<center><b><font size="5">Formulario</font></b></center>
<form name="fvalida" method="post" action="enviar2.php" onsubmit="return Valida()">
Nombre:
<input type="text" name="nombre" size="12">
<br>
<br>
Edad:
<input type="text" name="edad" size="12" maxlength="2">
<br>
<br>
Correo electrónico:
<input type="text" name="email" size="12">
<br>
<br>
Teléfono Móvil:
<input type="text" name="telm" size="12" maxlength="9">
<br>
<br>
Teléfon Fijo:
<input type="text" name="telf" size="12" maxlength="9">
<br>
<br>
<table>
<tr>
<td>
¿Tienes pareja?
</td>
<td>
<input type="radio" name="pareja"
value="sí">
Si.<br>
<input type="radio" name="pareja"
value="no">
No.<br>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td colspan="2" valign="top">
¿Tienes alguna experiencia?</td>
<td><textarea name="experiencia" cols="30" rows="5">
</textarea>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td colspan="2" valign="top">
¿Como te has enterado?</td>
<td><textarea name="curso" cols="30" rows="5">
</textarea>
</td>
</tr>
</table>
<br>
<table>
<tr>
<td>
¿Eres Vegetariano/a?
</td>
<td>
<input type="radio" name="vegeteriano"
value="sí">
Si.<br>
<input type="radio" name="vegetariano"
value="no">
No.<br>
</td>
</tr>
</table>
<br>
<br>
<table>
<tr>
<td colspan="2" valign="top">
¿Tomas algún medicamento? ¿Qual?</td>
<td><textarea name="medicamentos" cols="30" rows="5">
</textarea>
</td>
</tr>
</table>
<br>
<br>
<br>
<input type="submit" name="enviar" value="Enviar">
<input type="reset" value="Borrar" name="borrar">
</table>
</form>
</font>
</body>
</html>
:¬¬
valida.nombre.value
Cita de: Leyer en 3 Enero 2012, 19:46 PM
:¬¬
valida.nombre.value
Muchisimas gracias porfin me funciona correctamente!!!!!!!!!! :laugh: ;D :laugh: