source: spip-zone/_plugins_/saisies/trunk/javascript/afficher_si.js.html @ 118182

Last change on this file since 118182 was 118182, checked in by nicod@…, 3 months ago

Les backticks et la valeur par défaut du paramètre génèrent des erreurs et plantent les formulaires sur IE11
(oui, je sais, mais il y en a encore beaucoup dans les administrations)

File size: 1.2 KB
Line 
1$(function(){
2        $('form').each(function(){
3                afficher_si = $(this).find('[data-afficher_si]').each(function(){
4                        form = $(this).parents('form');
5                        verifier_afficher_si(form, $(this), true);
6                        }
7                );
8                $(this).find('texteara, input, select').change(function(){
9                                form = $(this).parents('form');
10                                name = $(this).attr('name');
11                                form.find('[data-afficher_si*='+name+']').each(function(){
12                                        verifier_afficher_si(form, $(this));
13                                })
14                })
15        })
16})
17[(#REM) EVAL et pas CONST pour compatibilité SPIP <3.2]
18function verifier_afficher_si(form, saisie, chargement) {
19        var condition = saisie.attr('data-afficher_si');
20        condition = eval(condition);
21        if (condition) {
22                saisie.[(#EVAL{_SAISIES_AFFICHER_SI_JS_SHOW})];
23                saisie.removeClass('afficher_si_masque').addClass('afficher_si_visible');
24                saisie.find('[data-afficher-si-required]').attr('required', true).attr('data-afficher-si-required',false);
25        } else {
26                if (chargement) {
27                        saisie.[(#EVAL{_SAISIES_AFFICHER_SI_JS_HIDE})].css('display','none');
28                } else {
29                        saisie.[(#EVAL{_SAISIES_AFFICHER_SI_JS_HIDE})];
30                }
31                saisie.addClass('afficher_si_masque').removeClass('afficher_si_visible');
32                saisie.find('[required]').attr('required', false).attr('data-afficher-si-required', null);
33        }
34}
Note: See TracBrowser for help on using the repository browser.