bonjour,
voici mon problème
j'ai écrit un script en AJAX (javascript) qui fonctionne très bien sur Internet Explorer
il s'agit d'un champ lié à une base de donnée ; lorsque l'on clique sur le texte du champ, un "input" apparaît alors pour que l'utilisateur modifie le champ en question (ceci est effectué par la fonction ci-dessous)
lorsque l'utilisateur modifie le champ et clique sur ok, je déclenche la fonction updateChamp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function set_edit(field) { writediv('<input type="text" size="5" class="menutxtfield" name="champ"/> <input type="button" class="menubouton" name="valider" value="Ok" onclick="updateChamp(champ.value)" />'); document.getElementById('champ').focus(); }
voici le code de la fonction writediv
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function updateChamp(champ,field) { if(champ != '') { texte=file('http://www.multimedia-net.com/ajax/update_get_info.php?champ='+escape(champ)); writediv('<div id="pseudobox" style="cursor:pointer;" onClick="set_edit('+champ+')"><span class="violet12px">'+champ+'</span></div>','annee'); } }
et voici la fonction que j'utilise pour XMLhttrequest
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function writediv(texte,field) { document.getElementById('pseudobox').innerHTML = texte; }
le problème c'est que sous Firefox, dès que je modifie le champ et que j'appuie sur le bouton ok, il n'effectue pas la mise à jour (réalisée grâce à la fonction 'file' que je détaille pas ici) et n'affiche pas ensuite la nouvelle valeur avec mon "writediv"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function file(fichier) { if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false); }
pourriez-vous m'aider à rendre mon code compatible aussi avec Firefox ?
merci beaucoup
PS / n'hésitez pas si besoin d'infos pour la compréhension
Partager