Erwan.me

Aller au contenu | Aller au menu | Aller à la recherche

samedi 14 novembre 2009

Mémo jQuery, iuTab, cookie et index

Voici un petit mémo simple, rapide, pratique et modeste pour jQuery UiTab :

Pour créer les onglets avec cookie :

var $tabs = $("#tabs").tabs({ cookie: { expires: 30, name: 'nom_cookie' } });

Pour obtenir le dernier index selectionné par le cookie :

var cookie = $('#tabs').tabs('option', 'nom_cookie');

Pour obtenir l'indice de l'onglet selectionné :

var selected = $tabs.tabs('option', 'selected');

Pour obtenir l'indice d'un onglet par son nom (ancre) :

var indice_nom_onglet = $('#tabs div.ui-tabs-panel').index($('#nom_onglet'));

lundi 11 mai 2009

jQuery, ajax et prévention

Un petit pense bête pour moi-même qui peut servir à d'autres :

jQuery rend les requêtes Ajax enfantine, et on peut passer notre temps gagné à jouer un peu avec les en-têtes HTTP. Que faire quand le contenu récupéré ne correspond pas à ce que l'on souhaitait (erreur de base de donnée, 404,...). Par exemple, une session PHP suivie d'un certain temps d'inactivité et voila votre visiteur qui se retrouve avec un formulaire d'identification la où il ne devrait pas être... Il y a sûrement plus élégant, mais une redirection me paraît bien appropriée :

Le code javascript :

$.ajax(
       {
           method: "get",url: "index.php",data: "param="+valeurParam,
           beforeSend: function(){ $("#chargement").show();},
           complete: function(xmlHttp) { 
                       $("#chargement").hide(); 
                       if (xmlHttp.status == 204) 
                                  top.location.href = 'indentification.php'; 
           },
           success: function(html)  {
               $("#resultat").html(html);
               $("#resultat").show();
           }
       });

La partie PHP :

       // Si $_GET['param'] et pas de session :
       header("HTTP/1.0 204 No Content"); // true, 204);
       die();

Si la requête aboutie sur un code 204 , alors on redirige l'utilisateur vers le formulaire d'identification.

page 2 de 2 -