Question

J'utilise un modal fancybox pour afficher les commentaires d'une page de nouvelles tirée à partir d'une base de données MySQL. Le modal a également une section qui permet aux utilisateurs d'afficher les nouveaux commentaires. J'utilise jquery pour envoyer les informations de formulaire à un autre script pour le traitement.

Au lieu de retourner le message avec succès, il est l'affichage des informations, et rediriger vers la page au lieu d'afficher les informations contenues dans le modal.

Voici le jquery qui devrait faire que cela se produise:

$(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);
                            }
                        );



});

});

Toute idée de ce que je suis absent ici?

Était-ce utile?

La solution

ce n'est pas un sélecteur valide: $ ( "# cachée newsid"). Ainsi, « newsId » est vide et les paramètres post donnent erreur de syntaxe

{ message : messageText, newsid: },

Autres conseils

Essayez $ ( "# Fancybox_content") html (données).

avant () wont mis le résultat INSIDE le fancybox_content, il le mettre devant lui.

En outre, si le résultat est un document html complet, y compris la tête et tout, il causera des problèmes. vous devez analyser les résultats du premier

En supposant #submit est un bouton d'envoi, vous devez annuler le comportement par défaut de ce bouton, qui est de soumettre le formulaire. Soit faux retour de votre fonction gestionnaire de clic ou de l'utilisation e.preventDefault().

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top