Erwan.me

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

jeudi 12 janvier 2012

Le datePicker de jQuery en HTML/CSS copier/coller, c'est surprennant...

Sur les archives de Numerama, on retrouve un calendrier HTML/CSS qui ressemble fort au datepicker de jQuery-ui (thème smoothness), sauf que le premier, s'il a du style, est loin d'être aussi pratique que le second...

jquery-ui-datepicker.png

Numerama-jquery-ui-sans-jquery.png

Ça surprend au clic... il n'y a pas de javascript... De plus, J'ai pas beaucoup fouillé, mais je n'ai pas trouvé la trace de licence GPL dans les sources du site Numerama...

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.