Foros del Web » Programando para Internet » Jquery »

Problema al validar formulario con jquery

Estas en el tema de Problema al validar formulario con jquery en el foro de Jquery en Foros del Web. Hola buenos días. Estoy intentando hacer un formulario que al completarse en lugar de enviarse se valide por una función (mediante un onclick en un ...
  #1 (permalink)  
Antiguo 13/03/2009, 04:35
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 8 meses
Puntos: 1
Problema al validar formulario con jquery

Hola buenos días.

Estoy intentando hacer un formulario que al completarse en lugar de enviarse se valide por una función (mediante un onclick en un botón) y que una vez validado muestre una página de resultados con AJAX.

En la parte de AJAX aún no he tenido problemas (pese a que siempre he desarrollado en XHTML, PHP y MySQL y nunca en JavaScript o en cualquiera de sus frameworks, por lo que, pese a haber leído varios tutoriales e intentado varios modos, aún estoy muy verde)

El principal problema que tengo al validar los campos es que no sé cuántos campos debo validar: me explico.

El usuario debe seleccionar en un desplegable un número de habitaciones, y en función del número que selecciona muestra otro tanto número de desplegables (con el número de adultos y de niños que ocuparán esa habitación)

He intentado comprobar los valores de mil maneras, todas ellas sin éxito; la última de ellas es esta:

Código javascript:
Ver original
  1. function checkForm () {
  2.   var bool = true;
  3.   for (var i=0; i < $("#myform").elements.length; i++)
  4.   {
  5.     if ($("#myform").elements[i].val() = '' || $("#myform").elements[i].val() = 'Seleccione')
  6.     bool = false;
  7.   }
  8.   if (bool)
  9.   {
  10.     $.ajax({
  11.       type: "POST",
  12.       url: "query.php",
  13.       //Aquí pongo los datos a enviar
  14.       beforeSend: function(objeto){
  15.         $('#resultado').html("<img src='..img/ajax-loader.gif' alt='Loading...'/>");
  16.       },
  17.       success: function(html){
  18.         $.("#resultado").html(html)
  19.       },
  20.       error: function(html){
  21.         alert("El proceso ha fallado!");
  22.       }
  23.     });
  24.   }
  25.   else
  26.     return false;
  27. }

La llamada del botón es así:

Código HTML:
<input type="button" name="comprobar" value="comprobar" onclick="checkForm();" /> 
Y la declaración de apertura del formulario, así:

Código HTML:
<form action="#" method="post" name="myform" id="myform"> 
Reconozco que estoy bastante perdido, con lo cual cualquier ayuda será bienvenida.

Muchas gracias a todos de antemano y un saludo.
  #2 (permalink)  
Antiguo 16/03/2009, 03:14
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Problema al validar formulario con jquery

Finalmente he conseguido validar el formulario con jquery, no obstante, no he conseguido que me cargue el archivo en PHP que debería tomar y tratar los datos del formulario...

Código javascript:
Ver original
  1. function checkForm () {
  2.     var bool = true;
  3.  
  4.     for (var i=0; i < document.forms[0].elements[i].length; i++)
  5.     {
  6.         if (document.forms[0].elements[i].value = '')
  7.         {
  8.             if (document.forms[0].elements[i].value = 'Seleccione')
  9.             bool = false;
  10.         }
  11.     }
  12.  
  13.     //Si el formulario está validado, carga la página
  14.     if (bool)
  15.     {
  16.         $(document).ready(function()
  17.         {
  18.             $.ajax(
  19.             {
  20.                 type: "POST",
  21.                 url: "query.php",
  22.                 //A data sólo le añado una cadena
  23.                 //pues me interesa más cargar el
  24.                 //archivo que comprobar las variables
  25.                 //por el momento, al menos
  26.                 data: "prueba",
  27.                 beforeSend: function(datos){
  28.                     $('#resultado').html("<img src='img/ajax-loader.gif' alt='Loading...'/>");
  29.                 },
  30.                 success: function(datos)
  31.                 {
  32.                     $('#resultado').html(datos).show();
  33.                 },
  34.                 error: function(obj1, e, obj2)
  35.                 {
  36.                     //Esta línea me indica el error
  37.                     $('#resultado').html("Se produjo un error : "+ e);
  38.                 }
  39.             });
  40.         });
  41.     }
  42.     else
  43.         return false;
  44. }

El caso es que, pese a que me valida el formulario, no he conseguido que me muestre la imagen de carga y además, al visualizar el error (en la línea 37 del código que he puesto) me contesta con un escueto error, que tampoco es que me ayude demasiado a la hora de buscar información sobre el problema...

¿Alguien sabría echarme una mano o indicarme algo de documentación al respecto?

(PS: Si este tema ya pertenece al foro de AJAX, ruego a los moderadores que lo muevan)

Muchas gracias a todos y un saludo.
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 18:04.