Probleme javascript methode getElementById

Fermé
steeve93800 - 31 mars 2008 à 15:52
 steeve93800 - 1 avril 2008 à 09:50
Bonjour,
j'ai un probleme avec une fonction javascript en effet quand je fait alert(obj.id) avec une variable en parametre la fonction affiche bien son contenu mais quand j'utilise cette meme variable avec document.getElementById la sa ne marche pas

voici mon code html + javascript


<head>
<title>testing </title>
<script language="JavaScript">

var desact = false;

function selection(obj){
obj.form.bouton1.disabled=true;
obj.form.bouton2.disabled=false;
if (obj.checked){desact=true;}
}

function des(obj){
if(desact){

alert(obj.id);
desact=false;
obj.form.bouton1.disabled=false;
obj.form.bouton2.disabled=true;
window.setTimeout('document.getElementById(obj.id).checked=false;',2);
}
}
</script>
</head>
<body>

<form >
<input type="radio" onmousedown="selection(this);" onmouseup="des(this);" id="oui" name="choix" />Oui
<input type="radio" onmousedown="selection(this);" onmouseup="des(this);" id="non" name="choix" /> Non

<input type="submit" name="bouton1" value="ajouter" > 
<input type="submit" name="bouton2" value="supprimer" disabled="false"> 
</form>
</body>
</html>


le probleme se situe au niveau de la fonction des (qui doit desactiver un bouton radio) qui ne va pas jusqu'au bout c'est a dire que le getElementById ne s'execute pas pourtant je lui passe obj.id qui est l'identifiant de l'objet passer en parametre (ici l'objet c'est input radi)


merci d'avance pour vos reponses

1 réponse

steeve93800
31 mars 2008 à 16:16
personne n'aurait une reponse ?? :-)
0
steeve93800
31 mars 2008 à 17:45
personne n'aurait une reponse. je pense que sa viens de la fonction setTimeout.


aidez je commence a desesperer

merci
0
steeve93800 > steeve93800
1 avril 2008 à 09:50
je n'ai toujours pas de reponse mais peut etre un indice remarquer ça:

lorsque je fait dans un fichier

var a='bonjour';
si je fait : alert(a); la j'ai l'affichage de bonjour jusque la tout va bien.

si maintenant je fait:
window.setTimeout('alert(\'bonjour\');', 20);

(N.B: le 20 corresond a un parametre de setTimeout qui va executer alert dans 20milisecondes ici)
j'ai le meme resultat en entrant la chaine bonjour sans l'aide d'une variable


mais la stupeur si je fais ça:
var a='bonjour';
window.setTimeout('alert(a);', 20);

la aucun affichage c'est donc bien un probleme de lie a setTimeout ou peut etre tout simplement au passage de variable a une fonction dans un fonction?

est ce que vraiment quelqu'un aurait une reponse?

ps : je suis sous debian avec comme navigateur iceweasel (version libre du navigateur firefox)

merci d'avance pour vos reponses
0