X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fprive%2Fjavascript%2FajaxCallback.js;h=3df5c8847ef17b9937fa9618f9704fd005e8533e;hb=cc641eb476987612f6d6df1a5417c1c5582a8ab8;hp=3cece6ef3d06f3f7ed9ae803588419d37e238fae;hpb=83e62ea97fafb78dde1372b78c1be4c71b5b1b58;p=lhc%2Fweb%2Fclavette_www.git diff --git a/www/prive/javascript/ajaxCallback.js b/www/prive/javascript/ajaxCallback.js index 3cece6e..3df5c88 100644 --- a/www/prive/javascript/ajaxCallback.js +++ b/www/prive/javascript/ajaxCallback.js @@ -870,12 +870,13 @@ function parametre_url(url,c,v,sep,force_vide){ if (p>0) a=url.substring(0,p); args = url.substring(p+1).split('&'); } - else - a=url; + else + a=url; var regexp = new RegExp('^(' + c.replace('[]','\\[\\]') + '\\[?\\]?)(=.*)?$'); var ajouts = []; var u = (typeof(v)!=='object')?encodeURIComponent(v):v; var na = []; + var v_read = null; // lire les variables et agir for(var n=0;n2 && typeof r[2]!=='undefined')?r[2].substring(1):''; + // c'est un tableau, on memorise les valeurs + if (r[1].substr(-2) == '[]') { + if (!v_read) v_read = []; + v_read.push((r.length>2 && typeof r[2]!=='undefined')?r[2].substring(1):''); + } + // c'est un scalaire, on retourne direct + else { + return (r.length>2 && typeof r[2]!=='undefined')?r[2].substring(1):''; + } } // suppression else if (!v.length) { } // Ajout. Pour une variable, remplacer au meme endroit, // pour un tableau ce sera fait dans la prochaine boucle - else if (r[1].substring(-2) != '[]') { + else if (r[1].substr(-2) != '[]') { na.push(r[1]+'='+u); ajouts.push(r[1]); } - else na.push(args[n]); + /* Pour les tableaux ont laisse tomber les valeurs de départ, on + remplira à l'étape suivante */ + // else na.push(args[n]); } else na.push(args[n]); } - if (v==null) return v; // rien de trouve + if (v==null) return v_read; // rien de trouve ou un tableau // traiter les parametres pas encore trouves if (v || v.length || force_vide) { ajouts = "="+ajouts.join("=")+"=";