Page 1 sur 1
probleme sou firefox
Posté : 29 déc. 2008, 18:08
par garry
Salut a tous, j'utilise cette fonction pour bloquer si le chekbox n'a pas été coché :
function chek(formu,champ) {
var b = eval('document.' + formu + '.' + champ);
if (!b.status) {alert("Pas coché");}
}
ca marche bien sous ie mais pas sous firefox, et quand je teste la valeur de b.status sous ie c'est true ou false selon si c'est coché ou pas mais sous firefox c'est undefined... Merci pour votre aide
Posté : 29 déc. 2008, 19:44
par AB
En javascript, j'utilise les fonctions de base tant que possible pour éviter les problèmes d'incompatibilité.
après avoir défini un id à mon chekbox (ici chekbox1) je fais ça
Posté : 29 déc. 2008, 20:11
par Ryle
Pas besoin d'un eval() :
var b = document.forms[formu].elements[champ]; te donnera le même résultat
Quant aux cases à cocher, pour savoir si une case l'est ou pas, c'est effectivement la propriété "checked" qu'il faut tester :
function chek(formu,champ) {
if (!document.forms[formu].elements[champ].checked) {
alert("Pas coché");
}
}
probleme sou firefox
Posté : 29 déc. 2008, 22:04
par garry
Merci pour vos réponses, ce que je voulais surtout comprendre c'est pourquoi sous ie .status renvoie true (ou false) et sous firefox undefined, mais bon je remplacerai par checked .. Merci encore
Posté : 29 déc. 2008, 22:45
par animithra
Bonsoir.
Après recherche il semblerait que la propriété .status est normalement applicable à l'objet window.
window.statut permet de modifier le statut par défaut de ta barre d'action (en particulier le texte affiché lorsqu'aucune action est en cours).
Visiblement, IE te retourne true ou false selon qu'une action est en cours ou non.
En revanche firefox est plus pointilleux : il te retourne undefined parce que pour lui b n'est pas un objet de type window.
En espérant t'avoir apporté une réponse compréhensible, je te souhaite une bonne soirée et une bonne progra.
PS : si ton problème est résolu, pense à tagger [Résolu] ^^