2010-03-23 4 views
0

J'ai une table dans laquelle des lignes supplémentaires peuvent être générées selon les besoins de l'utilisateur en cliquant sur une fonction javascript.Affichage des valeurs dans la zone de texte en fonction des entrées récupérées AJAX

Chaque ligne a une liste déroulante, et sur la base des valeurs de ce un script AJAX fetchs certaines valeurs qui doit être affiché dans correspondant textfields de la même rangée ..

est ici le code HTML. .

<td><div align="center"> 

      <label> 
      <select name="gcno1" id="gcno1" onchange="fetch_gc(this)"> 
      <option value="0">NIL</option> 
      <option value="2">1</option> 
      <?php while($row=mysql_fetch_array($result)) 
        { 
      ?> 
       <option value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></option> 
       <?php }?> 
      </select> 
      </label> 
      </div></td> 
      <td><div align="center"><input name="date1" id="date1" type="text" size="10" /> 
      </div></td> 

et est ici l'AJAX que je vous écris ...

xmlhttp = new XMLHttpRequest(); 
    var value=encodeURIComponent(document.getElementById('gcno1').value); 
    var parameters="param1="+value; 

    xmlhttp.open("POST", 'fetch_gc.php', true); 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlhttp.send(parameters); 
    xmlhttp.onreadystatechange=function(){ 
     if(xmlhttp.readyState == 4 && xmlhttp.status == 200) 
     { 
      var detail=xmlhttp.responseText.split('+'); 
      alert(detail[0]); 
      document.getElementsByName('date1').value=String(detail[0]); 
      alert("life " + document.getElementById('gcno1').value); 

     } 
    } 

l'alerte dans l'AJAX montre le texte de réponse correcte, détail [0], mais est incapable t o mettre la valeur en zone texte correspondante, à savoir avec le nom 'gcno1' ......

S'il vous plaît aidez-moi ce problème ...

+0

Avez-vous considéré jQuery? – SLaks

+0

Je ne sais pas encore jQuery .. :( –

Répondre

1

.getElementsByName() retourne une liste, donc:

document.getElementsByName('date1')[0].value=String(detail[0]); 
+0

une raison spécifique pour cela ..? –

+0

et qu'en est-il de .getElementsById ...? Est-ce que cela aussi retourner une liste ..? –

+0

aussi une idée d'obtenir l'ID d'un élément à travers son objet ...? –

Questions connexes