Pregunta

Estoy usando un modal Fancybox para mostrar comentarios de una página de noticias extraída de una base de datos MySQL. El modal también tiene una sección que permite a los usuarios publicar nuevos comentarios. Estoy usando jQuery para enviar la información del formulario a otro script para procesar.

En lugar de devolver el mensaje exitoso, está publicando la información y redireccionando a la página en lugar de mostrar la información en el modal.

Aquí está la jQuery que debería hacer que esto suceda:

$(document).ready(function(){ 
$("#submit").click(function() {
/* Set some vars */
                        var messageText = $("textarea#message").val();
                        var newsID = $("hidden#newsid").val();


                        $.post('/process/newmsg.php',
                            { message : messageText, newsid: newsID },
                            function(data) {
                                $("#fancybox_content").before(data);
                            }
                        );



});

});

¿Alguna idea de lo que me estoy perdiendo aquí?

¿Fue útil?

Solución

Este no es un selector válido: $ ("Hidden#NewsId"). Entonces, "NewsId" está vacío y los parámetros de publicación dan un error de sintaxis

{ message : messageText, newsid: },

Otros consejos

Intente $ ("#fancybox_content"). Html (datos);

Antes () no pondrá el resultado dentro del fancybox_content, lo pondrá ante él.

Además, si el resultado es un documento HTML completo que incluye el cabezal y todo, causará problemas. Debes analizar los resultados primero

Asumiendo #submit es un botón Enviar, debe cancelar el comportamiento predeterminado de ese botón, que es enviar el formulario. Ov que devuelva falso de la función de su controlador de clic o use e.preventDefault().

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top