Foros del Web » Programando para Internet » Javascript »

Problemilla al validar formulario

Estas en el tema de Problemilla al validar formulario en el foro de Javascript en Foros del Web. hola a todos/as quiero hacer una cosa, hasta ahora me funciona el formulario enviandolo por CGI, pero quiero validar el formulario, es decir, que se ...
  #1 (permalink)  
Antiguo 30/10/2007, 13:00
 
Fecha de Ingreso: febrero-2005
Mensajes: 976
Antigüedad: 19 años, 2 meses
Puntos: 2
Problemilla al validar formulario

hola a todos/as

quiero hacer una cosa, hasta ahora me funciona el formulario enviandolo por CGI, pero quiero validar el formulario, es decir, que se tengan que rellenar todos los campos del formulario.

Pero resulta, que relleno todos los campos menos uno para ver si relamente me funciona el validar el formulario con el javascript que le he puesto, cuando le doy a enviar me aparece la tipica ventanita diciendome que debo rellenar el campo que esta vacio, entonces cuando le doy al boton aceptar de la ventanita donde me dice que debo rellenar el campo, justo cuando le doy a aceptar me envia automaticamente el formulario (y me muestra la pagina en ingles de "gracias por rellenar el formulario" que viene por defecto en el CGI)sin tiempo a rellenar dicho campo, a que es debido?

espero puedan ayudarme.

aqui les paso el codigo que puse

<script language='JavaScript'>
function comprobar()
{
if (bolsa_trabajo.nombre.value=="")
{
alert("Debe de rellenar el campo 'Nombre y Apellidos'");
bolsa_trabajo.nombre.focus();
return;
}
if (bolsa_trabajo.domicilio.value=="")
{
alert("Debe de rellenar el campo 'Domicilio'");
bolsa_trabajo.domicilio.focus();
return;
}
if (bolsa_trabajo.edad.value=="")
{
alert("Debe de rellenar el campo 'Edad'");
bolsa_trabajo.edad.focus();
return;
}
if ((isNaN(bolsa_trabajo.edad.value))&&(bolsa_trabajo .edad.value.leght!=0))
{
alert("El campo 'Edad' debe ser numerico");
bolsa_trabajo.edad.select();
bolsa_trabajo.edad.focus();
return;
}
if (bolsa_trabajo.email.value=="")
{
alert("Debe de rellenar el campo 'E-mail'");
bolsa_trabajo.email.focus();
return;
}
if (bolsa_trabajo.tlf.value=="")
{
alert("Debe de rellenar el campo 'Telefono'");
bolsa_trabajo.tlf.focus();
return;
}
if ((isNaN(bolsa_trabajo.tlf.value))&&(bolsa_trabajo. tlf.value.leght!=0))
{
alert("El campo 'Telefono' debe ser numerico");
bolsa_trabajo.tlf.select();
bolsa_trabajo.tlf.focus();
return;
}
if (bolsa_trabajo.observaciones.value=="")
{
alert("Debe de rellenar el campo 'Experiencia Categoria Laboral'");
bolsa_trabajo.observaciones.focus();
return;
}
if (bolsa_trabajo.estudios.value=="")
{
alert("Debe de rellenar el campo 'Estudios'");
bolsa_trabajo.estudios.focus();
return;
}
if (bolsa_trabajo.categoria.value=="")
{
alert("Debe de rellenar el campo 'Categoria'");
bolsa_trabajo.categoria.focus();
return;
}
else
{
bolsa_trabajo.submit();
return;
}
}


</script>

aqui esta la etiqueta de form
<form name="bolsa_trabajo" method="POST" action="http://www.miespacio.es/cgi-bin/FormMail.cgi">
<input type=hidden name="recipient" value="[email protected]">

<INPUT class=form6 type='submit' value='Enviar' onclick='comprobar()'>

gracias y saludos
carlosbueno
  #2 (permalink)  
Antiguo 30/10/2007, 13:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Problemilla al validar formulario

Hola carlosbueno

Haz la comprobación desde el evento onsubmit del formulario:

<form name="bolsa_trabajo" onsubmit = "return comprobar()"...

y en la función para comprobar, cuando algún campo esté vacío, pones:

return false;

Saludos,
  #3 (permalink)  
Antiguo 31/10/2007, 12:08
 
Fecha de Ingreso: febrero-2005
Mensajes: 976
Antigüedad: 19 años, 2 meses
Puntos: 2
Re: Problemilla al validar formulario

hola JavierB, gracias por responder, tomo nota de lo que me dices y ya te cuento.

gracias y saludos
carlosbueno
  #4 (permalink)  
Antiguo 31/10/2007, 12:19
 
Fecha de Ingreso: febrero-2005
Mensajes: 976
Antigüedad: 19 años, 2 meses
Puntos: 2
Re: Problemilla al validar formulario

lo acabo de probar, y ya no me hace eso que comentaba yo en el post de arriba, pero me ha salido otro problemilla, yo como me has dicho he puesto
return false; en todo los campos de javascript
a la hora de rellenar el formulario, el ultimo campo que se llama categoria y es un combo despegable:
<TD class=reservas align=left><SELECT
class=form7 id='categoria' name='categoria'>
<OPTION selected>Selecciona </OPTION>
<OPTION>Cocinero</OPTION>
<OPTION>Ayudante de cocina</OPTION>
<OPTION>Maitre</OPTION>
<OPTION>Jefe de Rango</OPTION>
<OPTION>Camarero</OPTION>
</SELECT>
</TD>

tengo seleccionado una de las opciones dentro de categoria pero cuando le doy a enviar formulario me sale la ventana diciendome que debo rellenar ese campo, parece como si no me reconociera que ya he seleccionado una opcion, que puedo hacer?

el javascript lo he dejado de la siguiente manera:

<script language='JavaScript'>
function comprobar()
{
if (bolsa_trabajo.nombre.value=="")
{
alert("Debe de rellenar el campo 'Nombre y Apellidos'");
bolsa_trabajo.nombre.focus();
return false;
}
if (bolsa_trabajo.domicilio.value=="")
{
alert("Debe de rellenar el campo 'Domicilio'");
bolsa_trabajo.domicilio.focus();
return false;
}
if (bolsa_trabajo.edad.value=="")
{
alert("Debe de rellenar el campo 'Edad'");
bolsa_trabajo.edad.focus();
return false;
}
if ((isNaN(bolsa_trabajo.edad.value))&&(bolsa_trabajo .edad.value.leght!=0))
{
alert("El campo 'Edad' debe ser numerico");
bolsa_trabajo.edad.select();
bolsa_trabajo.edad.focus();
return false;
}
if (bolsa_trabajo.email.value=="")
{
alert("Debe de rellenar el campo 'E-mail'");
bolsa_trabajo.email.focus();
return false;
}
if (bolsa_trabajo.tlf.value=="")
{
alert("Debe de rellenar el campo 'Telefono'");
bolsa_trabajo.tlf.focus();
return false;
}
if ((isNaN(bolsa_trabajo.tlf.value))&&(bolsa_trabajo. tlf.value.leght!=0))
{
alert("El campo 'Telefono' debe ser numerico");
bolsa_trabajo.tlf.select();
bolsa_trabajo.tlf.focus();
return false;
}
if (bolsa_trabajo.observaciones.value=="")
{
alert("Debe de rellenar el campo 'Experiencia Categoria Laboral'");
bolsa_trabajo.observaciones.focus();
return false;
}
if (bolsa_trabajo.estudios.value=="")
{
alert("Debe de rellenar el campo 'Estudios'");
bolsa_trabajo.estudios.focus();
return false;
}
if (bolsa_trabajo.categoria.value=="")
{
alert("Debe de rellenar el campo 'Categoria'");
bolsa_trabajo.categoria.focus();
return false;
}
else
{
bolsa_trabajo.submit();
return false;
}
}


</script>

y en la etiqueta form le he añadido
onsubmit = "return comprobar()"

espero puedas echar una mano
gracias y saludos
carlosbueno
  #5 (permalink)  
Antiguo 01/11/2007, 02: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
Re: Problemilla al validar formulario

Hola:

Tienes mal definido el select, ya que el valor debe ser el campo value del option seleccionado, y no veo que hayas puesto alguno:

Código:
<SELECT class=form7 id='categoria' name='categoria'>
<OPTION value="" selected>Selecciona </OPTION>
<OPTION value="Cocinero">Cocinero</OPTION>
<OPTION value="Ayudante">Ayudante de cocina</OPTION>
<OPTION value="Maitre">Maitre</OPTION>
<OPTION value="Jefe">Jefe de Rango</OPTION>
<OPTION value="Camarero">Camarero</OPTION>
</SELECT>
Además, yo hice copy and paste, así que está tal como lo tienes (agregando los values), te recomiendo que tanto los tags como sus atributos los pongas en minúsculas (no recuerdo que cosas de esas no validaban )

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 03/11/2007, 18:02
 
Fecha de Ingreso: febrero-2005
Mensajes: 976
Antigüedad: 19 años, 2 meses
Puntos: 2
Re: Problemilla al validar formulario

ahh, entiendo, tomo nota caricatos de lo que me dice...........

gracias por responder y por tu ayuda

ya contare si me funciona ya todo

gracias
saludos
carlosbueo
  #7 (permalink)  
Antiguo 05/11/2007, 05:59
 
Fecha de Ingreso: febrero-2005
Mensajes: 976
Antigüedad: 19 años, 2 meses
Puntos: 2
Re: Problemilla al validar formulario

hola de nuevo caricatos, ya hice lo que me comentabas en el post anterior tuyo, le puse los value a la etiqueta select, y ya me funciona!!! muchas gracias a ti y a los demas que me han ayudado....

quiero preguntar una cosilla mas, en dicho formulario tengo un campo que es para que el usuario introduzca su correo electronico, como hago para controlar que lo hace correctamente? me refiero a introducir el simbolo de arroba, y que ponga correctamente un dominio real y no uno ficticio, me imagino que en javascript eso se puede controlar de alguna manera, no? donde puedo ver algun ejemplo de codigo que me controle eso?

muchas gracias y saludos
carlosbueno
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 07:35.