J'ai finalement résolu le prb en modifiant le script associé au formulaire d'enregistrement
Je gère le fait que les attributs qui sont affichés dans le formulaire d'enregistrement peuvent également être cachés via l'utilisation du suffixe "cache_" dans le code du champ.
ci-joint le code JS si ca interesse certains :
var parametres,href,reg;
/* reg est la regex qui permet d'extaire les parametres de l'URL */
var reg = /[?&]+([^=&]+)
([^&]*)/gi,
/* href contient les requetes de paraemtres de l'URL */
href = window.location.search;
/* getUrlVars : mappe les parametres de l'URL dans un obje map [libellé du parametre] => [valeur] */
function getUrlVars() {
/* map est l'objet qu icontiendra les parametres d'URL */
var map = {};
href.replace(reg, function(match, key, value) {
key = decodeURIComponent(key);
value = value ? decodeURIComponent(value) : true;
map[key] ? map[key] instanceof Array ? map[key].push(value) : map[key] = [map[key], value] : map[key] = value;
});
return map;
}
$(document).on('ready pjax:scriptcomplete',function(){
/**
* Code included inside this will only run once the page Document Object Model (DOM) is ready for JavaScript code to execute
* @see
learn.jquery.com/using-jquery-core/document-ready/
*/
parametres = getUrlVars();
/* on cache tous les blocs d'attributs supplémentaires dont le libellé contient cache_*/
$("label[for^='register_attribute']:contains('cache_')").parent("div").hide() ;
AttributsSupplementaires=$("input[type='text'][name^='register_attribute']");
if (AttributsSupplementaires) {
for (IndexAttribut=0;IndexAttribut<AttributsSupplementaires.length;IndexAttribut++) {
InputAttribut=AttributsSupplementaires[IndexAttribut];
Objetlabel = InputAttribut.parentElement.previousElementSibling;
if (Objetlabel) {
TextelabelTotal = Objetlabel.innerText.trim();
Textelabel=TextelabelTotal;
if (TextelabelTotal.indexOf("cache_")>=0) Textelabel=TextelabelTotal.substring(6,TextelabelTotal.length);
/* si on a un parametre qui correspond au label (sans le cache_ devant) alors on le préremplit avec la valeurs du parametres */
if (parametres[Textelabel]) InputAttribut.value=parametres[Textelabel]
}
}
}
});