2012-08-16 60 views
0

我有這樣的情況,想要從mysql檢索行id來輸入隱藏的元素。讓我們來看看腳本無法從mysql檢索id到隱藏的輸入元素

PHP =>

​​

和JavaScript

<script type="text/javascript"> 
document.getElementById("j").addEventListener("click",function(){ 
    document.a.submit(); 
}); 
</script> 

從這個劇本,我希望,當我點擊$row['file_title']必須echo clicked row id但它得到id僅來自第一個元素,並且此ID屬於數據庫中的最後一行。這裏有什麼問題,我該如何解決這個問題?謝謝

+1

這裏的問題是,你有多個「一」用相同的ID(「J」)和名稱(「一些」)標籤,假設你的「 tb「表有多行。 這可能是爲什麼它始終是最後一個條目的ID。 – gabtub 2012-08-16 09:55:59

+0

只是刪除JavaScript,然後嘗試讓提交按鈕 – 2012-08-16 09:57:27

+0

現在想起,謝謝,但我怎麼知道名稱重複是常見的元素,不是嗎? (id必須改) – tnanoba 2012-08-16 09:58:24

回答

1

此處while循環每次都會覆蓋隱藏元素和鏈接ID。

while ($row = $r->fetch_assoc()){ 
       echo "<input type='hidden' name='some' value='" . $row['id'] . "'><a href='javascript: void(0)' id='j'>" . $row['file_title'] . "</a><br>"; 
      } 

請看,這裏每個鏈接都有id'j'。每個輸入元素都有名字「some」。 更好的是分配這個環節上的一類和追加$行[「身份證」]中隱藏的元素名稱,以便使獨特的這樣的內容:

while ($row = $r->fetch_assoc()){ 
        echo "<input type='hidden' name='some_".$row['id']."' value='" . $row['id'] . "'><a href='javascript: void(0)' class="alink" id='j_".$row['id']."'>" . $row['file_title'] . "</a><br>"; 
       } 

的JavaScript將是這樣的:

<script type="text/javascript"> 

document.getElementsByClassName("alink").addEventListener("click",function(){ 
    document.a.submit(); 
}); 

</script> 

其中'鏈接'是分配給鏈接的類。

希望,它會幫助你..

+0

這一切都很清楚,但是我怎樣才能知道隱藏元素的php值? (在這種情況下,我不知道隱藏元素的確切名稱) – tnanoba 2012-08-16 10:54:39

+0

你可以使用jquery選擇器來獲取它。當你點擊一個鏈接時,這裏隱藏的元素就是它的siblig,所以你可以得到那個點擊鏈接的第一個兄弟的名字 – 2012-08-16 11:13:28

+0

你能用例子來展示嗎?我不太熟悉jQuery,請事先感謝:) – tnanoba 2012-08-16 11:19:08

0

如何知道腳本點擊了哪個鏈接?所有鏈接提交相同形式和所有<input> s在您的形式有相同名稱! 您可以將每個<input>和相關聯的<a>放在一個單獨的表格中,或給每個<input>一個唯一的名稱。當然,你也必須調整你的JavaScript,因爲document.getElementById('j')只會獲取第一個鏈接。