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:
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:Ver original
<form method="post" action="envio.php" id="myform" name="myform" > <fieldset id="form"> <legend>Send Email</legend> <ol> <li><label>Name:</label><input type="text" size="30" name="fname" class="required" minlength="5" /></li> <li><label>Phone:</label><input type="text" size="30" name="fphone" class="required" /></li> <li><label>Comments:</label><textarea name="fcomment" rows="5" cols="25" class="required" ></textarea></li> </ol> <p align="center"> <input type="submit" id="enviar" name="mysubmit" value="Enviar" /> </p> </fieldset> </form> <div id="loading" style="display: none;"></div> <div id="result" style="display: none;"></div>//aqui deberia aparecer el resultado de "envio.php" pero no aparece :/
Código Javascript:
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:Ver original
<script language="javascript" src="jquery-1.3.min.js"></script> <script language="javascript" src="jquery.validate.min.js"></script> <script language="javascript"> $('document').ready(function(){ if($('#myform').validate() == TRUE){ $('#myform').submit(function(evento){ evento.preventDefault(); // para cancelar el evento por defecto del formulario $('#loading').css('display', 'block'); //muestro un mensaje o una imagen de "cargando" $.post($('#myform').attr('action'), $('#myform').serialize(), function(respuesta){ //envio el formulario y recibo una respuesta ajax $('#result').css('display', 'block'); $('#result').html(respuesta); $('#loading').css('display', 'none'); }); }); } }); </script>
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...