/ / jQuery Mobile soumission de formulaire sur plusieurs pages avec CakePHP - php, jquery, cakephp, jquery-mobile

JQuery Mobile soumission de formulaire sur plusieurs pages avec CakePHP - php, jquery, cakephp, jquery-mobile

J'espère que quelque chose de simple me manque ici. J'ai un site Web CakePHP sur lequel jQuery Mobile est utilisé. Je pense que CakePHP a peut-être quelque chose à voir avec cela, mais je ne suis pas sûr.

Quoi qu’il en soit, j’ai un formulaire que j’ai créé à ma vuepage pour ajouter des commentaires. L'appel Ajax fonctionne comme prévu sur la première page chargée, mais la navigation vers une autre page empêche la soumission des données. La console enregistre toujours des "données" chaque fois que j'appuie sur le bouton (après avoir utilisé "pagebeforeshow" comme recommandé ailleurs), mais il semble que ce soit les données de la page chargée d'origine (je le sais car je débogue actuellement $ this-> request-> data sur la page d'action Form).

Clairement, je dois avoir besoin de "réinitialiser" le formulairelors du déplacement de pages, mais je ne sais pas si cela est possible sans rafraîchir la page. Je sais que "data-ajax" = "false" et "rel" = "external" peuvent être utilisés en dernier recours, mais je souhaite éviter d'actualiser la page si je le peux.

Aucune suggestion? Je vous remercie.

Voici le JS que j'utilise pour l'appel Ajax

//<![CDATA[
$(document).on("pagebeforeshow", function(){
$(document).off("click", "#comment_add").on("click", "#comment_add",function(e) {
$.ajax({
async:true,
data:$("#sCommentViewForm").serialize(),
dataType:"html",
success:function (data, textStatus) {
//$("#comments").remove();
//$("<div id="comments"></div>").appendTo("#comments_container");
$("#comments").html(data).trigger("create");
//$("#comments_box").remove();
//$("<div id="comments_box"></div>").appendTo("#comments_container");
console.log(data);
},
type:"POST",
url:"commentsUsers/comment_add/<? echo $template["Template"]["id"]; ?>"});
return false;
});
});
//]]>
</script>

Réponses:

0 pour la réponse № 1

C'était mon manque de compréhension fondamental. Après de nombreuses recherches, ce post simple a été très utile:

Jquery Mobile Javascript ne fonctionne pas sur ajax load

Fondamentalement, j'utilisais des identifiants pour tout. Lorsque je passais aux noms de classe, la navigation était fluide.