Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/10/2012, 12:16
gandalf_2706
 
Fecha de Ingreso: marzo-2010
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Enviar formular de dialog por AJAX

Buenas tardes foreros, hoy paso por aqui y traigo conmigo una duda... Estoy mostrando por medio de un .dialog un formulario muy sencillo con dos campos, lo que necesito es que cuando se haga click en aceptar se procese el formulario por ajax y se cierre este dialog... estuve toda la mañana intentando pero nunca llama a la URL que le estoy enviando, el codigo es el siguiente:
Código:
$("#dialog-form").dialog({
				modal: true,
				autoOpen: false,
				height: 280,
				width: 400,
				buttons: {
					"Continuar": function() {
						$("#preguntar").submit(function(e){
							e.preventDefault();
							// Serializamos el formulario
							valores = $("#preguntar").serialize();
							//Mostramos un alert con los datos del formulario
							var _url = $(this).attr('action');
							var $envio = $.ajax({
								url: _url,
								data: valores,
								type: 'POST'
							});
							
							//cuando el envio finalice:
							$envio.done(function(){
								//Cerrar el dialogo (o hacer otra cosa)
								$elem.dialog( 'close' );
							});
						});
						// Cerramos el diálogo
						$( this ).dialog( "close" );
					},
					Cancel: function() {
						$( this ).dialog( "close" );
					}
				},
	});
El formulario es el siguiente:

Código PHP:
<div id="dialog-form" title="Preguntar" style="display:none;">
                        <form id="preguntar" action="preguntar.php" method="POST">
                        <fieldset>
                            <li style="list-style:none;margin-top:20px;">
                                <label for="email">
                                    Email:
                                </label>
                                <input style="margin-left:28px;" type="input" name="email"/>
                            </li>
                            <li style="list-style:none;margin-top:20px;">
                                <label for="email" style="vertical-align:top;">
                                    Pregunta:
                                </label>
                                <textarea col="3" name="pregunta"></textarea>
                            </li>
                            <input type="hidden" name="guardar" value="1"/>
                            <input type="hidden" name="idproducto" value="<?php echo $id_producto;?>"/>
                        </fieldset>
                        </form>
                    </div>
Pero cuando hago click en continuar no aparece ningun error pero se cierra el dialog....
Por otro lado, ya probe el archivo al que llamo preguntar.php para que funcione correctamente y realiza las inserciones correctas a la BD..


Alguien puede ayudarme???