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

kazer_ccm2 Messages postés 45 Statut Membre -  
kazer_ccm2 Messages postés 45 Statut Membre -
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. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    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
  2. kazer_ccm2 Messages postés 45 Statut Membre 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
  3. kazer_ccm2 Messages postés 45 Statut Membre 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
  4. kazer_ccm2 Messages postés 45 Statut Membre 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