Problème javascript

Bonjour,

voici le bout de code de mon programme qui ne fonctionne pas
var check       = document.getElementsByName('check');
                var tab         = '';
                var maxi        = check.length;
                alert(maxi);
                var id          = new Array();
                var quantite    = new Array();
                for (var i=0; i<maxi; i++) 
                {
                    var a       = 'id'+i;
                    var b       = 'quantite'+i;
                    alert(a+' '+b);
                    id[i]       = document.getElementById(a).value;
                    quantite[i] = document.getElementById(b).value;
                    if (check[i].checked == true) { 
                
		
                        tab += id[i]+':oui:'+quantite[i]+':';
                    } else {
		
                        tab += id[i]+':non:'+quantite[i]+':';
		
                    }
                    alert(tab);
                }


merci de me dire s'il y a une erreur

3 réponses

  1. Bonjour,

    Je ne vois pas d'erreur a priori.
    Peut-être pourrais-tu nous en dire plus ?

    Est-ce que tes ALERT fonctionnent ? Pourquoi dis-tu « ça ne marche pas » ?
    Tu ne vois rien ? Tu as un message d'erreur ? Les ALERT ne donnent pas ce à quoi tu t'attends ?

    Xavier
    1. et avec:

      var check       = document.getElementsByName('check').value;


      et evites les noms resevés tels que check
      1. Non, le code initial est bon, getElementsByName renvoie un tableau.
        Et en l'occurrence, les éléments de ce tableau sont correctement utilisés par la suite :
        - var maxi = check.length;
        - check[i].checked == true //(même si là, on peut critiquer la redondance du == true)
    2. Salut

      merci pour vos réponses
      comme a remarquer Reivax962 le code est juste, le problème je l'avais dans ma boucle PHP, je l'ai résolu.

      merci infiniment pour ton conseil Alain_42.

      A+