2015-11-06 237 views
1

我有從數據庫循環「自動創建」的鏈接,當我點擊一個鏈接時,它應該顯示一個iframe,它只適用於第一個鏈接。而且不與他人合作...iFrame按鈕點擊

首先它打印數據的代碼

while($row = mysqli_fetch_assoc($wr)) 
{ 
printf(nl2br("<a class='questions' id='oldQ'><b>%s</b></a>\n\n"), $row['question'], $row['question']); 
} 

然後創建

document.getElementById('oldQ').onclick = function() { 
var iframe = document.createElement('iframe'); 
iframe.src = "qa.php"; 
iframe.class = "iframe"; 
document.body.appendChild(iframe); 
}; 

回答

1

對於多個html元素,不能使用相同的id。無論是分配的唯一id每個iframe或不將它們分配id s的一切 - 使用類來代替:

printf(nl2br("<a class='questions oldQ'>... 

然後

var elements = document.getElementsByClassName('oldQ'); 
for (i in elements) { 
    elements[i].onclick = ... 
} 
+0

我已經刪除了「oldQ」和使用' document.getElementsByClassName' with'questions',但現在根本不起作用 – Nezoo

+0

編輯答案 - 因爲我們現在查詢多個元素,所以我們需要一個for循環。 –

+0

令人驚歎,謝謝 – Nezoo

1

你分配相同的HTML的iframe代碼id到while循環中的每個項目,然後在javascript查找中使用該id。