From 2d478334485b7afd6ff3e8f1b9720191a4aa5309 Mon Sep 17 00:00:00 2001 From: ARNO* <arno@rezo.net> Date: Mon, 29 Aug 2005 18:19:24 +0000 Subject: [PATCH] Bug javascript/AJAX: les references aux id changent quand on fait des chargements dynamiques - il faut donc pouvoir utiliser findObj sans memoriser la reference aux id. --- ecrire/layer.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/ecrire/layer.js b/ecrire/layer.js index deb6f90f13..3080446c94 100644 --- a/ecrire/layer.js +++ b/ecrire/layer.js @@ -3,11 +3,11 @@ var vis = new Array(); var memo_obj = new Array(); - function findObj(n) { + function findObj_test_forcer(n, forcer) { var p,i,x; // Voir si on n'a pas deja memoriser cet element - if (memo_obj[n]) { + if (memo_obj[n] && !forcer) { return memo_obj[n]; } @@ -26,11 +26,19 @@ var vis = new Array(); if(!x && document.getElementById) x = document.getElementById(n); // Memoriser l'element - memo_obj[n] = x; + if (!forcer) memo_obj[n] = x; return x; } + function findObj(n) { + return findObj_test_forcer(n, false); + } + // findObj sans memorisation de l'objet - avec Ajax, les elements se deplacent dans DOM + function findObj_forcer(n) { + return findObj_test_forcer(n, true); + } + function hide_obj(obj) { element = findObj(obj); if(element) { @@ -99,10 +107,11 @@ var xmlhttp = new Array(); function charger_id_url(myUrl,myField) { - var Field = findObj(myField); // selects the given element + var Field = findObj_forcer(myField); // selects the given element + if (!Field) return; - image = document.getElementById('img_'+myField); + image = findObj_forcer('img_'+myField); if (image) image.style.visibility = "visible"; -- GitLab