11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Travaillant sur un petit projet personnel, j'utilise les "pages" de Jquery mobile, ma question est donc :

Comment écrire proprement du code javascript qui permet depuis un lien sur une "page-1" JQM, d'appeler une autre "page-2" JQM, tout en allant chercher du contenu dans une base de données et en l'insérant dans la dite "page-2" avant de faire la "transition" d'affichage JQM de la "page-1" à la "page-2".

dans la "page-1" :
<li><a name="pages/ListeTables.html" id="accesListeTables">Liste des Tables</a></li>


$(document).ready(function(){
	$('#projetpos').on('click', function(event) {
			var type = $(event.target).closest('a').attr( 'id' );
			var page = $(event.target).closest('a').attr( 'name' );
			if (type == "accesListeTables") {
             $.ajax({
                   type:"GET",
                   url:page,
                   success: function(retour){
			console.log( retour );
                  $( '#fin' ).after( retour );
			$().getListeTables();
		  $.mobile.changePage( "#listeTables" );
                   }
               });
			}

    });

});

(function($){
	$.fn.getListeTables = function ()
	{
		$('#idListeTables').empty();
		$.ajax({
			type: "GET",
			dataType : "html",
			url : "php/projetpos.php", 
			error:function( msg, string )
			{
				console.log( "Error !: " + string + " " + msg );
			},
			complete:function( xhr, result )
			{
				if ( result != "success" ) return;
				var response = xhr.responseText;
				$('#idListeTables').append(response).trigger('create');
			}
		});
		return this;
	};
})(jQuery);




A ce jour, mon code ci-dessus fonctionne de la façon suivante :
1/ je détecte le click sur la "page-1"
2/ je teste et récupère les infos du lien ou je dois aller
3/ je fais un get de la "page-2" avec la fonction $ajax
3.1/ une fois chargée, je refais un get avec ma fonction $().getListeTables();, qui à son tour va chercher des infos puis les insérer dans le div de contenu de la page-2
3.2/ j'appelle la fonction de changement de page de JQM


je ne suis qu'un développeur amateur, mais je suis persuadé qu'on doit pouvoir faire beaucoup plus simple et plus propre ....


Merci de votre aide