2013-11-04 239 views
0

我有一個HTML表結構如下:表TD不顯示Ajax響應數據

<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)時,它會提示所需的結果。怎麼了?

+0

檢查瀏覽器的控制檯中的錯誤。另外,檢查'HTML'中的兩個元素('a'和'span')的ID。 –

+1

您確定'$ id'和'$ applicants_r [$ i] ['id']'給出相同的值嗎? –

+0

'document.getElementById('abcd')。style.display'應該是'table-cell'而不是'block' – Martial

回答

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";