Récupération par document.getElementById(&quot

Bonjour,
mon problème est le suivant:
j'ai un formulaire php conçu grâce à des données venant de la bd par une boucle.

while($row = mysql_fetch_array($res))
{
$id = $row['id'];
echo "<input type='text' class='bkInputQty' maxlength='4' size='2' value='$nbre' name='qte_$id_pd' id='$id' onclick='javascript:plusmoins(".$id.");'/>";
}

dans ma fonction javascript, je fais:

function plusmoins(id)
{
nom2 = document.getElementById(id);
alert(nom2.value);
}

l'erreur retournée est:" nom2 is null"

Please!!!!!!!!!!!!!!!
Configuration: Windows XP
Firefox 3.0.10

4 réponses

  1. Bonjour,
    pour moi l'erreur vient du fait qu'il manque des ' quand tu passes ton $id à ta fonction js
    essayes en mettant "onclick='javascript:plusmoins(\'".$id."\');'/>"
    0
    1. salut, l'envoie de la variable $id à la fonction js s'est bien passé! Mais au niveau de cette fonction, je dois récupérer la valeur de l'élément qui a pour id $id.
      Quand je dis alert(id), l'id s'affiche bien!
      mais quand je dis alert(document.getElementById(id).value), il ya pb
      0
      1. Cest résolu

        le code js est le suivant:
        [code]
        function plusmoins(type,id)
        {
        if(type==1)
        {

        var val = parseInt(document.forms['form_panier'].elements[id].value) + 1;
        document.forms['form_panier'].elements[id].value = val;
        }
        else
        if(type==2)
        {
        var val = parseInt(document.forms['form_panier'].elements[id].value);
        if(val>0) val --;
        document.forms['form_panier'].elements[id].value = val;
        }

        }

        [/code]

        Et le code php est le suivant:
        [code]
        echo "<form name='form_panier' action='' method='post'>";
        $num_id = 0;
        $req=mysql_query("select * from table");
        while($row = mysql_fetch_array($req))
        {
        $nbre = $row['nbre'];
        $id_pd= $row['id_pd'];
        echo "<map name='$num_id'>";
        echo "<area href='javascript:plusmoins(1,".$num_id.");' coords='0,0,20,10' shape='rect' />";
        echo "<area href='javascript:plusmoins(2,".$num_id.");' coords='0,11,20,22' shape='rect'/>";
        echo "</map>";

        echo "<input type='text' class='bkInputQty' maxlength='4' size='2' value='$nbre' name='qte_$id_pd' id='$num_id'/>"; echo "<img hspace='0' border='0' align='absbottom' usemap='#$num_id' class='btnPlusMoins' src='images/plusmoins.gif'/>";

        $num_id++;
        }

        echo "</form";
        [/code]
        0
        1. [b]Cest résolu[/b]
          le code js est le suivant:
          [cpp]
          function plusmoins(type,id)
          {
          if(type==1)
          {

          var val = parseInt(document.forms['form_panier'].elements[id].value) + 1;
          document.forms['form_panier'].elements[id].value = val;
          }
          else
          if(type==2)
          {
          var val = parseInt(document.forms['form_panier'].elements[id].value);
          if(val>0) val --;
          document.forms['form_panier'].elements[id].value = val;
          }

          }

          [/cpp]

          Et le code php est le suivant:
          [cpp]
          echo "<form name='form_panier' action='' method='post'>";
          $num_id = 0;
          $req=mysql_query("select * from table");
          while($row = mysql_fetch_array($req))
          {
          $nbre = $row['nbre'];
          $id_pd= $row['id_pd'];
          echo "<map name='$num_id'>";
          echo "<area href='javascript:plusmoins(1,".$num_id.");' coords='0,0,20,10' shape='rect' />";
          echo "<area href='javascript:plusmoins(2,".$num_id.");' coords='0,11,20,22' shape='rect'/>";
          echo "</map>";

          echo "<input type='text' class='bkInputQty' maxlength='4' size='2' value='$nbre' name='qte_$id_pd' id='$num_id'/>"; echo "<img hspace='0' border='0' align='absbottom' usemap='#$num_id' class='btnPlusMoins' src='images/plusmoins.gif'/>";

          $num_id++;
          }

          echo "</form";
          [/cpp]
          0