AJAX响应数据未显示在表td中

时间:2013-11-04 12:12:55

标签: javascript html ajax dom innerhtml

我有一个结构如下的HTML表格:

<tr>
    <td>
        <a href="javascript:view_note('<?php echo $id; ?>')">View note</a>
    </td>
<tr>     
<tr>
    <td id="abcd" >
        <span id="hidtb_<?php echo $applicants_r[$i]['id']; ?>"></span>
    </td>
</tr>

我的javascript是:

function view_note(id)
{
    document.getElementById('abcd').style.display="block";
    ---------------
    --------------
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
            var ajaxDiv = document.getElementById('hidtb_'+id);
            //alert('hidtb_'+id);
            ajaxDiv.innerHTML = ajaxRequest.responseText;
        }
    }

    var queryString = "?id=" + id;
    ajaxRequest.open("GET", "view_note.php" + queryString, true);
    ajaxRequest.send(null); 
}

但是当我点击查看备注时,虽然它显示了td abcd,但它什么都没显示!但是当我提醒alert(ajaxRequest.responseText)时,它会提醒所需的结果。怎么了?

1 个答案:

答案 0 :(得分:0)

导致错误的<tr id="abcd">,因为它在css中设置为display:none。试试这个:

<tr id="abcd_<?php echo  $applicants_r[$i]['id']; ?>" style="display: none">
    <td>
        <span id="hidtb_<?php echo  $applicants_r[$i]['id']; ?>"></span>
    </td>
</tr>

的Javascript / AJAX:

更改

document.getElementById('abcd').style.display="block";


document.getElementById('abcd_'+id).style.display="block";