我有一张表,根据用户需要,可以通过点击javascript函数生成添加行。
每一行都有一个下拉列表,根据这个值,AJAX脚本会获取一些必须在同一行的相应文本字段中显示的值。
这是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>
这是我正在写的AJAX ......
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);
}
}
AJAX中的警报显示正确的响应文本,详细信息[0]但无法将值放在相应的文本框中,即名称为“gcno1”......
请帮我解决这个问题...
答案 0 :(得分:1)
.getElementsByName()返回一个列表,所以:
document.getElementsByName('date1')[0].value=String(detail[0]);