5568 sujets

Sémantique web et HTML

Bonjour,

Voila je vient vers vous car j'ai un soucis avec un formulaire.

J'ai ceci:

<input onclick="CocheTout(this, 'Choix[]');" class="hideType" idtype=""type="checkbox"><img src="image/icon/deco.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="28" checked="checked"><img src="image/icon/cmreu.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="29" checked="checked"><img src="image/icon/cmrdv.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="14" checked="checked"><img src="image/icon/dragon.png" width="22" height="22">              
<input type="checkbox" class="hideType" name="Choix[]" idtype="15" checked="checked"><img src="image/icon/boss.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="16" checked="checked"><img src="image/icon/champ.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="17" checked="checked"><img src="image/icon/coffre.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="18" checked="checked"><img src="image/icon/jumpingPuzzle.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="30" checked="checked"><img src="image/icon/plongee.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="19" checked="checked"><img src="image/icon/richgold.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="20" checked="checked"><img src="image/icon/mithrilrich.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="21" checked="checked"><img src="image/icon/platinerich.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="22" checked="checked"><img src="image/icon/ferriche.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="27" checked="checked"><img src="image/icon/argentriche.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="23" checked="checked"><img src="image/icon/pnj.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="24" checked="checked"><img src="image/icon/defi.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="31" checked="checked"><img src="image/icon/prime.png" width="22" height="22">e
<input type="checkbox" class="hideType" name="Choix[]" idtype="25" checked="checked"><img src="image/icon/courses.png" width="22" height="22">
<input type="checkbox" class="hideType" name="Choix[]" idtype="26" checked="checked"><img src="image/icon/puzzle.png" width="22" height="22">


Cette ligne permet de décocher ou cocher toutes les autres case:

<input onclick="CocheTout(this, 'Choix[]');" class="hideType" idtype=""type="checkbox"><img src="image/icon/deco.png" width="22" height="22">

Le code java de cette ligne:

function CocheTout(ref, name) {
	var form = ref;
 
	while (form.parentNode && form.nodeName.toLowerCase() != 'form'){ 
		form = form.parentNode; 
	}
 
	var elements = form.getElementsByTagName('input');
 
	for (var i = 0; i < elements.length; i++) {
		if (elements[i].type == 'checkbox' && elements[i].name == name) {
			elements[i].checked = ref.checked;
		}
	}
}


Ce que je souhaite et le problème est la c'est que dans cette ligne:

<input onclick="CocheTout(this, 'Choix[]');" class="hideType" type="checkbox"><img src="image/icon/deco.png" width="22" height="22">

je désire pouvoir récuperer tout les idtypes situer dans la totalité du formulaire

Merci d'avance pour votre réponse[/i][/i][/i]
Modifié par anaole (08 Dec 2013 - 18:36)
Question bête : tu n'as pas jquery sur ton site ? Tu peux le faire en une ligne de code avec jQuery.
Salut,

D'abord :
if (elements.type == 'checkbox' && elements[[#black]i[/#]].name == name) {
// à corriger en :
if (elements[[#black]i[/#]].type == 'checkbox' && elements[[#black]i[/#]].name == name) {
Ensuite :
anaole a écrit :
je désire pouvoir récuperer tout les idtypes situer dans la totalité du formulaire
Tu peux le faire dans la même boucle :
var idtypes = []; /* ce tableau contiendra la liste des idtypes une fois la boucle terminée */
for (var i = 0; i < elements.length; i++) {
    if (elements[[#black]i[/#]].type == 'checkbox' && elements[[#black]i[/#]].name == name) {
        elements[[#black]i[/#]].checked = ref.checked;
        if (elements[[#black]i[/#]].hasAttribute('idtype')) {
            idtypes.push(elements[[#black]i[/#]].getAttribute('idtype'));
        }
    }
}