Pour une raison inconnue de moi, ma forme ne soumet pas le texte saisi dans mon
6 Réponses :
J'ai négligé de mentionner que j'avais un éditeur WYSIWYG attaché à la zone de texte, appelé Niceder Sitor. Apparemment, il y a un bug qui a forcé JQuery de ne pas sérialiser le Texarea. Une fois que le NiceDitor a été supprimé, cela a bien fonctionné. Merci pour toute l'aide. P>
Ajouter retour False Onsubmit
$("#blogSubmit").on('click',function(){ $.ajax({ type:'POST', url:'****.php', data:$('#blogForm').serialize(), success: function(responseSubmit) { blah blah etc... });
Votre nom Textarea est BlogContent mais l'identifiant est Blogbody. Le sélecteur # utilise l'ID, pas le nom. P>
Le sélecteur utilise l'identifiant de la forme i>
Vous ne devriez pas avoir besoin de supprimer votre éditeur - ils fonctionnent généralement à l'aide de JS pour mettre à jour la textarea cachée après chaque touche, ou lorsque le formulaire soumet, de sorte que cela ne devrait pas faire une différence à condition que l'éditeur obtient ce mors . p>
J'imagine que le problème est comme phillip suggéré - que votre identifiant et vos attributs de nom diffèrent. Tous les autres correspondent bien. Lorsque cela sertialise, il doit utiliser les identifiants et probablement dans votre script de l'autre côté que vous attendez que les noms à venir (dont une forme normale soumettrait). p>
Puisque vous envoyez via $ Post, juste faire un Var_Dump ($ _ Post); Dans votre script, puis connectez-vous à la console ou en alertant dans votre JavaScript - voyez ce qui est envoyé exactement via AJAX à votre script. p>
Si la Textarea n'est pas là sous aucun nom, vous savez que le problème est définitivement l'éditeur, et si c'est le cas, essayez d'appeler manuellement les méthodes de NiceDitor qui mettront à jour la Textarea cachée. P>
Modification: à: p>
Si vous utilisez AJAXSUBMIT, les données de Textarea de tout éditeur de texte ne fonctionneront pas.
Vous devez donc obtenir la valeur et le mettre dans un champ masqué, vous pouvez obtenir la valeur postale comme ceci: p> avant ajaxsubmit p>
Je ne peux pas voir quoi que ce soit nettement pas mal avec ce que vous avez posté et jQuery sérialises
Peut-être que cela aide forum.jquery.com/topic/textarea-et -ajax-with-sériialize-aide
Y a-t-il des pauses en ligne dans les données? Ce peut être ce problème: Stackoverflow.com/ Questions / 4115457 / ...
BlogContent est-il plus qu'un textarea, une perchage? I.e. - Est-ce une TinyMCE / CKEditor?
Cela fonctionne très bien dans ce violon .
C'est un éditeur de texte WYSIWYG ... appelé Niceder Sitor. La fonction AJAX est appelée lorsque le bouton Soumettre est cliqué. Jusqu'à présent, il n'y avait pas de rupture de ligne que j'ai remarquée. Je double vérifier cela cependant.
@JoryCunningham Je pense que cela a été réparé dans des versions plus récentes de JQuery (cette question / réponse est de près de deux ans), mais je pourrais me tromper.
Comme cela fonctionne dans le violon, il doit être l'éditeur WYSIWYG attaché à celui-ci ...
J'imagine que votre WYSIWYG fait quelque chose à ce domaine qui fait que JQuery ne veuille pas le sérialiser. Pouvez-vous essayer de encodericomponent et ajoutez-vous manuellement la valeur à la chaîne sérialisée?
Une façon de résoudre ce problème consiste à aller directement sur les entrées:
$ (entrée blogorm, #blogposer texteaea '). Serialize () Code>
C'était mon éditeur WYSIWYG ... Merci pour l'aide. Je suppose que mal aller avec un autre, ou construire moi-même; p merci
Utilisez ce Stackoverflow.com/Questtions/4115457/ ...
Vous manquez l'attribut de valeur dans vos champs de saisie.