Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/03/2009, 04:35
Koden
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 2 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.