JS cochant checkbox selon choix d'un menu déroulant marche pas sous IE

Eléphanteau du PHP | 28 Messages

23 févr. 2009, 19:54

Bonjour,

Voici mon code :
<html>
<head>
<script language="javascript" type="text/javascript">

function allchecked(form) {
 
var TabChecks=document.getElementsByName('groupe[]');
TCL=TabChecks.length;
for (i=0; i<TCL; i++) {
	TabChecks[i].checked = "checked";
	}
 
}
 
function nonechecked(form) {
 
var TabChecks=document.getElementsByName('groupe[]');
TCL=TabChecks.length;
for (i=0; i<TCL; i++) {
	TabChecks[i].checked = "";
	}
 
}

</script>
</head>

<body>
<form name="form" action="adduser.php" method="POST">

<input type="checkbox" name="groupe[]" value="<?php echo $gr['ID']; ?>"/><?php echo $gr['groupe']; ?><br/>

<select class = "bigroll" type="text" name="status">
<option onclick="nonechecked(this.form)"></option>
<option value="<?php echo $sestatus['ID'];?>" onclick="allchecked(this.form)"><?php echo $sestatus['status']; ?></option>
</select>

</form>
</body>
</html>
Le problème est dans le titre mon code marche parfaitement sous Firefox mais pas sous IE :S

Quelqu'un a une idée ?

Merci !

Mammouth du PHP | 2937 Messages

23 févr. 2009, 20:03

La méthode du DOM permettant de sélectionner un ou plusieurs éléments selon leur nom est getElementsByTagName. :-*

ViPHP
AB
ViPHP | 5818 Messages

23 févr. 2009, 21:54

Ensuite je me demande à quoi te sert de poser des questions si tu ne lis pas les réponses :shock:
http://www.phpfrance.com/forums/viewtop ... highlight=

Eléphanteau du PHP | 28 Messages

24 févr. 2009, 14:17

Désolé, j'ai eu une solution sur un autre forum du coup j'ai continué car ce n'était pas mes checkbox qui posaient problème mais l'événement onclick sur les option que IE ne gère pas :S

Merci pour ces conseils concernant les normes JavaScript je vais mettre à jour mon script.

J'ai mis un onchange sur le select mais maintenant je dois vérifier quelle est la valeur de mon option lorsque je change et si elle est égale à Administrator je coche toutes les checkbox, si elle n'est pas égal à Administrator je décoche toutes les checkbox.

C'est bon j'ai trouvé !
function monchoix() {
if(document.getElementById("monselect").options.selectedIndex==1) {
var TabChecks=document.getElementsByName('groupe[]');
TCL=TabChecks.length;
for (i=0; i<TCL; i++) {
TabChecks[i].checked = true;
}
}

else {
var TabChecks=document.getElementsByName('groupe[]');
TCL=TabChecks.length;
for (i=0; i<TCL; i++) {
TabChecks[i].checked = false;
}
}
}