Version complète: sur le forum Webmaster Hub : petit probleme javascript
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > AjaX et JavaScript
-ZN-
Bonjour,

je me casse la tete depuis un petit moment avec le code suivant:

CODE
msg='coucou';
myspan='user'+userD;
document.getElementById(myspan).innerHTML = msg;


je crois que c'est le getElementById qui ne fonctionne pas ... est ce quelqu'un saurait m'aider s'il vous plait?

Merci d'avance,

ZN
Ifmy
Ce serait pas uen faute de frappe ? userD userID
-ZN-
Ooops j'ai un instant cru que oui, mais non je me suis juste trompé dans mon post ici ...
Ifmy
Je suppose que userID est un nombre, du coup essayez de faire :
CODE
myspan='user'+userID.toString();


Bovino
Faut dire aussi que ce que tu montres de script est un peu léger pour obtenir une réponse efficace...
T'es sûr d'avoir au ton span avec l'id 'user'+userD ?
captain_torche
ET surtout; où et comment définis-tu userD ?
-ZN-
Ok c'est un peu compliqué mais je vais coller mon code, sans adaptation

déjà, la partie html

CODE
<span  id="blog6142" name="blog6142"> <a href="admin/validate-blog.php?blogAddress=lijlkj.com&blogID=6143#"  onclick="deleteblog(6142)">delete</a></span>


Puis toute la partie javascript (je ne colle pas le code php, en gros il renvoit une chaine de caractères)

CODE
function deleteblog(blogID){

if (confirm('Are you sure you want to delete this blog?'))
{
    var xhr = getXhr();
    xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
        msg = xhr.responseText;
        myspan='blog'+blogID.toString();
        document.getElementById(myspan).innerHTML = msg;
        }
    }
    
    xhr.open("POST","admin/delete-blog.php",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xhr.send("blogID="+blogID);
    }
}


edit: petite erreur réparée
Bovino
document.getElementsByName(myspan) te renvoie un tableau, innerHTML ne peut pas fonctionner, il faut préciser document.getElementsByName(myspan)[0] ou passer à la recherche de l'id getElementById (qui te renvoie un élément.
-ZN-
Oui, oops j'ai testé ça hier soir mais ça ne fonctionnait toujours pas ...

meme le
CODE
document.getElementById(myspan).innerHTML = msg;


ne passe pas huh.gif
Bovino
CODE
<a href="admin/validate-blog.php?blogAddress=lijlkj.com&blogID=6143#"  onclick="deleteblog(6142)">delete</a>


Quand tu cliques sur ton lien, admin/validate-blog.php?blogAddress=lijlkj.com&blogID=6143# ça fait quoi ?
Si tu veux uniquement exécuter ton javascript, tu as plusieurs syntaxes :
CODE
href="#" onclick="..."

ou
CODE
href="java script:deleteblog(6142)"


Mais là je pense que ton href empêche le onclick de s'exécuter...
-ZN-
En fait, ce qui est bizarre, c'est que mon script ajax était tout de même lancé ... par contre l'intérieur de mon span ne changeait pas ...

avec la modif de Bovino, ça fonctionne, mon span est modifié!

Merci beaucoup smile.gif

Bovino
Content d'avoir été utile
-ZN-
Je crois que je me suis emballé un peu vite ...il semble que ca ne fonctionne pas avec IE (je travaille avec firefox, bugzilla m'aide beaucoup).

Une idée peut-etre?
Bovino
Si le problème vient d'IE (comme souvent whistling.gif ), il faut vérifier ta fonction getXhr() je pense.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.