MajaxLink

De Sydonie

Les div de classe majax permettent d'envoyer une requête en ajax mais obligent à replacer le fragment html obtenu en retour dans le dom.

Grâce aux liens de type MajaxLink, il devient possible d'envoyer une requête en ajax sans forcément inclure le fragment html retourné dans le dom. On peut toutefois utiliser les classes majaxUpdate_XXX ou majaxAdd_XXX pour mettre à jour une autre partie de la page. De plus, l'utilisation de classes majaxFire_XXX sur le lien reste possible, pour demander à d'autres parties de pages de se recharger.

Dans l'exemple suivant, un clique sur le bouton "toto" :

  1. exécutera une requête majax vers l'url ".../toto"
  2. le fragment html éventuellement obtenu en retour sera ignoré
  3. si la requête s'est bien passée (pas d'erreur du serveur), les élément de classe majaxListenTo_Toto seront rechargées.


<a class="majaxLink majaxFire_Toto" href=".../toto">toto</a>

Le cas du href vide

Dans le cas où le href serait vide, aucune requête ne sera envoyée. Seuls les évenements majaxFire_XXX seront déclenchés.

L'utilisation des data-majaxIf

Afin d'empêcher certaines requêtes ajax d'être exécutées, il est possible de fixer une précondition à l'exécution ces requêtes. Ces préconditions données sous la forme d'un morceau de code javascript via l'attribut "data-majaxIf".

Dans l'exemple suivant, si la fonction "maFonctionJavascript();" retourne "false", la requête ne sera pas envoyées et le majaxFire ne sera pas déclenché.

<a class="majaxLink majaxFire_Toto" href=".../toto" data-majaxIf="maFonctionJavascript();">toto</a>

Un tel mécanisme permet par exemple d'empêcher de cliquer trop souvent sur un lien particulier.