Foros del Web » Programando para Internet » Jquery »

Problemas con AJAX en jquery

Estas en el tema de Problemas con AJAX en jquery en el foro de Jquery en Foros del Web. Saludos Foreros... nuevamente recurro a ustedes (que me salvaron varias veces) Resulta que soy nuevo en JQuery y Ajax y no hallo la forma de ...
  #1 (permalink)  
Antiguo 26/08/2011, 12:46
Avatar de RonaldNet  
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Información Problemas con AJAX en jquery

Saludos Foreros... nuevamente recurro a ustedes (que me salvaron varias veces)
Resulta que soy nuevo en JQuery y Ajax y no hallo la forma de hacer correctamente la validación del lado del cliente con Ajaxy Jquery
Tengo el siguiente formulario con 4 campos y un boton de enviar
Código PHP:
Ver original
  1. <form method="post" action="envio.php" id="myform" name="myform" >
  2.       <fieldset id="form">
  3.         <legend>Send Email</legend>
  4.         <ol>
  5.             <li><label>Name:</label><input type="text" size="30" name="fname" class="required" minlength="5" /></li>
  6.             <li><label>E-mail:</label><input type="text" size="30" name="femail" class="required" /></li>
  7.             <li><label>Phone:</label><input type="text" size="30" name="fphone" class="required" /></li>
  8.             <li><label>Comments:</label><textarea name="fcomment" rows="5" cols="25" class="required" ></textarea></li>
  9.         </ol>
  10.         <p align="center">
  11.         <input type="submit"  id="enviar" name="mysubmit" value="Enviar" />
  12.         </p>
  13.       </fieldset>
  14. </form>
  15. <div id="loading" style="display: none;"></div>
  16. <div id="result" style="display: none;"></div>//aqui deberia aparecer el resultado de "envio.php" pero no aparece :/
hasta ahí todo bien, el problema surje a la hora de validar el formulario usando un plugin para Jquery "jquery.validate.min.js". el código es el siguiente:
Código Javascript:
Ver original
  1. <script language="javascript" src="jquery-1.3.min.js"></script>
  2. <script language="javascript" src="jquery.validate.min.js"></script>
  3. <script language="javascript">
  4. $('document').ready(function(){
  5.     if($('#myform').validate() == TRUE){
  6.         $('#myform').submit(function(evento){
  7.             evento.preventDefault(); // para cancelar el evento por defecto del formulario
  8.             $('#loading').css('display', 'block'); //muestro un mensaje o una imagen de "cargando"
  9.             $.post($('#myform').attr('action'), $('#myform').serialize(), function(respuesta){ //envio el formulario y recibo una respuesta ajax
  10.                 $('#result').css('display', 'block');
  11.                 $('#result').html(respuesta);
  12.                 $('#loading').css('display', 'none');
  13.             });
  14.         });
  15.     }
  16. });
  17. </script>
la validación la hace correctamente usando la class required (no se completa el submit del formulario es decir no envia los datos a envio.php) el problema es el siguiente:
una vez insertando los datos del formulario correctamente parece no estar usando AJAX por que me muestra los resultados de "envio.php" en otra página y no en la misma "index.php" (debajo del formulario) que es donde deberia aparecer
aqui les dejo el resultado http://www.ministeriorocaeternalp.com/ronald/email/
espero que me haya dejado entender y por favor NECESITO SU AYUDAA muchas gracias...
  #2 (permalink)  
Antiguo 26/08/2011, 13:58
Avatar de RonaldNet  
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Respuesta: Problemas con AJAX en jquery

Algún experto en AJAX o JQuery que pueda ayudarme? realmente se lo agradecere muchoo...
  #3 (permalink)  
Antiguo 26/08/2011, 15:00
 
Fecha de Ingreso: diciembre-2007
Mensajes: 194
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: Problemas con AJAX en jquery

No te esta haciendo la llamada ajax porque no esta bien definida la función, así de simple.

Código Javascript:
Ver original
  1. $('#idForm').submit(function() {
  2.             $.ajax({
  3.             type: $(this).attr('method'),
  4.             url: $(this).attr('action'),
  5.             data: $(this).serialize(),
  6.             dataType: 'text',
  7.             error: function(xhr, ajaxOptions, thrownError) {
  8.               //En caso de que la llamada NO se realice correctamente.
  9.             },
  10.             success: function(data) {
  11.               //En caso de que la llamada se realice correctamente.
  12.             }
  13.         });
  14.        
  15.         return false;
  16.     });

Este es el prototipo de función que suelo utilizar, si le quieres meter la validación métesela..

Creo que se entiende todo bastante bien, lo unico resaltable, el dataType, es el tipo de dato que vas a devolver, text, xml, etc, y el parametro "data" (puedes llamarlo como quieras) que recibe la funcion success sera tu xml, tu html o lo que estes devolviendo con tu script php.

El "return false;" del final de la función es como tu preventDefault();, realiza exactamente la misma función.
__________________
Aprender J2EE en www.programacionj2ee.com.
Mi framework PHP D Framework.
  #4 (permalink)  
Antiguo 26/08/2011, 16:32
Avatar de RonaldNet  
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Respuesta: Problemas con AJAX en jquery

muchas Gracias Millen estube revisando en los mismos AIPs de Jquery y tengo algunas ideas probaré tu prototípo y te contare como me va;) una ves mas graciasss...

Etiquetas: ajax, javascript, post, formulario
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 00:58.