【问题标题】:AJAX response data not displaying in table tdAJAX 响应数据未显示在表 td 中
【发布时间】:2013-11-15 01:26:05
【问题描述】:

我有一个结构如下的 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); 
}

但是当我点击查看注释时,虽然它显示tdabcd,但它什么也没显示!但是当我提醒 alert(ajaxRequest.responseText) 时,它会提醒想要的结果。怎么了?

【问题讨论】:

  • 检查浏览器控制台是否有错误。此外,请检查 IDs 中的两个元素(aspan)在您的 HTML 中。
  • 您确定$id$applicants_r[$i]['id'] 给出相同的值吗?
  • document.getElementById('abcd').style.display 应该是 table-cell 而不是 block
  • 在你的 html 中,第 5 行,不应该是 &lt;/tr&gt; 而不是 &lt;tr&gt;

标签: javascript html ajax dom innerhtml


【解决方案1】:

导致错误的是&lt;tr id="abcd"&gt;,因为它在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";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-23
    • 1970-01-01
    • 2022-09-25
    • 2017-10-03
    • 2021-01-09
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多