Salut all !
J'ai codé aujourd'hui un p'tit truc sympa, qui va me servir pour une applic php.
J'ai utilisé js pour cette partie-là parce que c'est bien pratique, en fait...
Mais (pasqu'il y a -hélas- toujours un mais), le script fonctionne parfaitement sur FF, mais pas sur IE.
Et ça, ça m'ennuie.
Seulement, je n'arrive pas vraiment à voir ce qui gêne.
Pourriez-vous éclairer ma lanterne ?
Voici le script appliqué, via ce lien (cliquez sur un paragraphe pour en modifier le contenu).
Et voici le code :
Merci beaucoup à ceux qui pourront m'aider.
note: le design de la page est plus qu'accéssoire, je ne travaillerai là-dessus que quand le code sera fini et bouclé.
note2: je me rends compte que tous les crochets de mon script sont parsés par le forum, donc voici le lien direct vers le fichier js.
Modifié par Lisarael (29 Apr 2005 - 15:50)
J'ai codé aujourd'hui un p'tit truc sympa, qui va me servir pour une applic php.
J'ai utilisé js pour cette partie-là parce que c'est bien pratique, en fait...
Mais (pasqu'il y a -hélas- toujours un mais), le script fonctionne parfaitement sur FF, mais pas sur IE.
Et ça, ça m'ennuie.
Seulement, je n'arrive pas vraiment à voir ce qui gêne.
Pourriez-vous éclairer ma lanterne ?
Voici le script appliqué, via ce lien (cliquez sur un paragraphe pour en modifier le contenu).
Et voici le code :
// fonction d'édition de paragraphe
function editPara(ref) {
refObj = document.getElementsByTagName("p")[ref];
// code du formulaire d'édition
formTag= '<div class="center"><form action="#"><textarea cols="55" rows="10" id="content'+ref+'">'+refObj.innerHTML+'</textarea><br /><input type="button" id="valide'+ref+'" value=" valider les changements " /><input type="button" id="reset'+ref+'" value=" annuler les changements " /></form></div>';
var inMemory = refObj.innerHTML;
// changement du paragraphe par le formulaire d'édition
refObj.innerHTML = formTag;
document.getElementsByTagName("p")[ref].onclick = "";
// définition des comportements des boutons
// bouton "annuler les changements"
var annulIdent = 'reset'+ref;
document.getElementById(annulIdent).onclick = function() {annulPara(ref, inMemory);};
// bouton "valider les changements"
var valideIdent = 'valide'+ref;
var contentIdent = 'content'+ref;
document.getElementById(valideIdent).onclick = function() {validPara(ref, document.getElementById(contentIdent).value);};
}
// fonction de rétablissement du paragraphe avant les changements
function annulPara(ref, innerRef) {
document.getElementsByTagName("p")[ref].innerHTML = innerRef;
document.getElementsByTagName("p")[ref].onclick = new Function("editPara("+ref+");")
}
// fonction de ré-écriture du paragraphe avec les changements
function validPara(ref, innerRef) {
document.getElementsByTagName("p")[ref].innerHTML = innerRef;
document.getElementsByTagName("p")[ref].onclick = new Function("editPara("+ref+");")
}
// routine des événements déclanchés en onload
window.onload = function() {
// génération des onclick des événements
for (ref=0; ref < document.getElementsByTagName("p").length; ref++) {
document.getElementsByTagName("p")[ref].onclick = new Function("editPara("+ref+");");
}
}
Merci beaucoup à ceux qui pourront m'aider.
note: le design de la page est plus qu'accéssoire, je ne travaillerai là-dessus que quand le code sera fini et bouclé.
note2: je me rends compte que tous les crochets de mon script sont parsés par le forum, donc voici le lien direct vers le fichier js.
Modifié par Lisarael (29 Apr 2005 - 15:50)