1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| //Fonction de modification inline de l'élément double-cliqué
function inlineMod(ID_Coder, id, obj, nomValeur, type)
{
if(editionEnCours)
{
return false;
}
else
{
editionEnCours = true;
sauve = false;
}
//Objet servant à l'édition de la valeur dans la page
var input = null;
//On crée un composant différent selon le type de la valeur à modifier
switch(type)
{
//Valeur de type texte ou nombre
case "texte":
case "nombre":
input = document.createElement("input");
break;
//Valeur de type texte multilignes
case "texte-multi":
input = document.createElement("textarea");
break;
//Valeur de type Liste MultiSelect
case "MultiSelect":
input = document.createElement("select");
break;
}
//Assignation de la valeur dans une valeur temporaire
if (obj.innerText)
ValObj = obj.innerText;
else {
ValObj = obj.textContent;
}
if (type == "MultiSelect") { // Chargement et affectation de la liste
getSelectListe(ID_Coder, input, ValObj);
} else { // Script original pour les autres champs
input.value = ValObj;
input.value = trim(input.value);
//On lui donne une taille un peu plus large que le texte à modifier
input.style.width = getTextWidth(input.value) + 30 + "px";
}
//Remplacement du texte par notre objet input
obj.replaceChild(input, obj.firstChild);
//On donne le focus à l'input et on sélectionne le texte qu'il contient
input.focus();
input.select();
//Assignation des deux événements qui déclencheront la sauvegarde de la valeur
//Sortie de l'input
input.onblur = function sortir()
{
sauverMod(id, obj, nomValeur, input.value, type);
delete input;
};
//Appui sur la touche Entrée
input.onkeydown = function keyDown(event)
{
if (!event&&window.event)
{
event = window.event;
}
if(getKeyCode(event) == 13)
{
sauverMod(id, obj, nomValeur, input.value, type);
delete input;
}
};
// Ajout d'un évenement pour voir !!!!
//Changement de valeur dans la liste
input.onchange = function ListeChange(event)
{
if (!event&&window.event)
{
event = window.event;
}
if(getKeyCode(event) == 13)
{
sauverMod(id, obj, nomValeur, input.value, type);
delete input;
}
};
} |
Partager