11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous ,j'ai un bouton que je désactive sous une certaine condition , et que je réactive sous une autre condition.
Or sur IE7 ca fonctionne bien ,mais sur firefox3 le bouton se désactive, mais il ne veut pas se réactiver...
voici mon code pour le désactiver

		if(select_liste.length<=0)
		{
			var bouton_select=document.getElementById("btn_select");
			bouton_select.setAttribute("disabled",true);			
		}

Voici pour le réactiver

		//reactivation du bouton select	
		var bouton_select=document.getElementById("btn_select");
		bouton_select.setAttribute("disabled",false);

Avez vous une petite idée???
Merci d'avance Smiley smile
Modifié par rockt13 (05 Nov 2008 - 00:07)
utilise plutôt des tests booleens

if (select_liste != false) {
//btn actif
} else {
// btn inactif
}

et met ton code en fin de page
Smiley smile
Modifié par dvilston (04 Nov 2008 - 11:51)
Pour la réactivation du bouton supprime l'attribut "disabled" de cette manière :

tonBouton.removeAttribute("disabled");


ça devrait fonctionner sans soucis Smiley cligne
(par contre j'ai pas test sous IE)
Pour information même si le problème est résolu (et que la méthode KalNex reste logique conceptuellement) ... l'erreur vient d'une confusion entre :

document.getElementById("btn_select").disabled = true; // or false
et
document.getElementById("btn_select").setAttribute("disabled", true) // or false


Le premier code a l'effet escompté car le mécanisme repose sur la suppression de l'attribut disabled pour la valeur booléenne false.

Alors que le deuxième ne modifie que la valeur de l'attribut disabled ; peut importe alors sa valeur : sa présence indique que le champ est bien désactivé (du simple fait qu'il s'agit d'un "attribut raccourci").

Tu aurais pu le remarquer très facilement par la fabuleuse extension Firebug. Smiley cligne Outil qui me semble sous exploité par beaucoup de membres de la communauté Smiley decu ... Alors les gens Firebug c'est bon mangez-en Smiley lol !

<edit>Hmmm ... pas sûr de l'utilité de mettre le code en fin de page (dans certains cas je peux le comprendre mais dans ce cas). Smiley confus </edit>
Modifié par yodaswii (05 Nov 2008 - 09:54)
Ok donc pour résumé il est mieux d'utiliser .disabled = true / false ?

En fait j'utilise l'outil de firefox qui s'appel Web Developer il est super aussi Smiley lol il sers pour le CSS,HTML,php,java,validator,dom inspector etc..etc...
rockt13 a écrit :
Ok donc pour résumé il est mieux d'utiliser .disabled = true / false ?


Tu as deux solutions :

document.getElementById("btn_select").disabled = true;
document.getElementById("btn_select").disabled = false;

ou

document.getElementById("btn_select").setAttribute("disabled", "disabled");
document.getElementById("btn_select").removeAttribute("disabled");


Le premier extrait de code me semble être un raccourci d'écriture du deuxième. Au final, le résultat est le même. Après niveau ressource utilisée je pense que c'est du kif-kif. Smiley cligne Donc à ta guise. Smiley lol
Modifié par yodaswii (06 Nov 2008 - 12:32)