Comment désactiver les événements change et validation lorsqu'on utilise loadRecord ?

Neil McGuigan

Traducteur

vermine

Qui n'a jamais voulu désactiver temporairement le lancement de certains événements ? L'auteur propose une série d'instructions permettant d'empêcher l'événement change (notamment) de se déclencher.
Cet article est la traduction de How to disable change / validation events when using loadRecord publié sur ExtJS Tutorials.

- Titre : Comment désactiver les événements change et validation lorsqu'on utilise loadRecord ?

- Auteur : Neil McGuigan

- Traducteur : vermine

- Parution : 31 juillet 2012

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2012 Neil McGuigan. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Explications

- II. Désactiver les événements

- III. Remerciements

I - Explications

Lorsque vous utilisez Basic.loadRecord() pour charger un enregistrement dans un formulaire, tous les champs du formulaire lancent leur événement change, même si vous ne le désirez pas.

II - Désactiver les événements

Voici une astuce pour éviter ce comportement. Cela empêche les événements de se lancer, puis les réactive :

var basic = form.getForm();

basic.getFields().each(function(item, index, length){
item.suspendCheckChange++;
});

basic.loadRecord(myRecord);

basic.getFields().each(function(item, index, length){
item.suspendCheckChange--;

});

III - Remerciements

Cet article a été publié avec l'aimable autorisation de Neil McGuigan. L'article original peut être lu sur le blog ExtJS Tutorials : How to disable change / validation events when using loadRecord.
Je remercie également ClaudeLELOUP pour sa relecture minutieuse.