Salut,

on m'a signalé un gros formulaire (74 saisies) avec plein de afficher_si (69 conditions) qui ne marchait plus (tous les champs affichés, et une erreur js dans la console).

Vu le nombre, pour identifier celle qui plante j'ai ajouté un console.log(saisie, condition) dans afficher_si.js.html, juste avant le eval()

J'ai donc vu que ça venait de conditions du type @selection_1@=="choix3" && @checkbox_2@=="choix2" avec une des deux saisies qui n'existe plus (parce qu'elle a été supprimée entre temps).

Ça génère donc une condition avec un && tout seul, qui plante le eval().

Comment pourrait on corriger ça ?

- faire de l'analyse de la condition pour supprimer un || ou && en trop ?
bof, casse gueule.

- remplacer les saisies non trouvées par "1 == 1" ?
ça serait glisser la poussière sous le tapis mais ça corrigerait

Lever une alerte au moment de la validation de la saisie ne serait pas suffisant, car une des saisies impliquées dans son afficher_si peut être supprimée après.

Maieul, toi qui connait bien le code, tu as une autre idée avant que je ne corrige ?

--
nicod_
----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Répondre à