2010-12-13 40 views
0

我有一個HTML頁面。點擊頁面中的一個鏈接運行一個php函數,該函數向頁面添加一個HTML表格(使用AJAX實現,php函數位於單獨的php文件中)。如何在PHP中引用HTML元素?

現在,我在頁面上有一個按鈕,該頁面應該運行另一個PHP函數,該函數應該從表格中獲取數據並對其執行操作。我不知道如何從表中獲取數據,因爲:

  1. 我不知道如何通過php引用(獲取)HTML元素。
  2. 我的php函數在一個單獨的文件中。

如果我把表中的所有內容放在POST或GET參數中,該怎麼辦?有沒有辦法引用表並迭代它的行並以這種方式獲取數據?謝謝。

+1

您似乎混淆了「HTTP」和「HTML」。 – 2010-12-13 19:57:07

+0

感謝您糾正我。這幾天我很困.. – Boris 2010-12-13 19:58:36

+0

你必須在這兩種情況下發送JSON數據。不是HTML,而是JSON。就這樣。 – 2010-12-13 20:00:51

回答

4

這不是PHP工作,你應該使用Javascript功能來捕捉表的內容,然後操縱他們,你想的任何方式。另一方面,如果表格內容從不改變,那麼你可以把它們放到你的PHP函數中。

您可以先像這樣設置一個ID爲表拉桌子的值:

<table id="someTable"> 
<tr id="someRow"> 
    <td>Data</td> 
    <td>Data2</td> 
</tr> 
</table> 

然後你可以使用呼叫從表中的值的JavaScript:

var row = document.getElementById("someRow"); 
var cellValues = row.getElementsByTagName("td"); 

這將把所有的單元格放入一個數組中。然後你可以把它們變成變量。

var firstCell = cellValues[0].innerText; 
var secondCell = cellValues[1].innerText; 

然後你可以把它放入一個AJAX請求併發送給你的PHP函數進行處理。

這會發送一個GET或POST請求到yourfile.php,然後你可以以任何你想要的方式操作單元行,並通過在PHP文件中回顯結果來發回結果。您可以通過製作回調函數來檢索結果。

希望這有助於 克里斯

+0

非常感謝! – Boris 2010-12-13 20:15:34

+0

沒問題讓我知道你是否需要任何幫助。如果您使用jQuery,我可以向您解釋更多,也許您應該查看它,它很簡單易用。 www.jQuery.com – 2010-12-13 20:17:35

2

我不知道如何通過php引用(獲取)HTML元素。

使用JavaScript從表中獲取數據。

我的php函數在一個單獨的文件中。

創建另一個AJAX請求得到它由PHP處理,

+0

太棒了!非常感謝! – Boris 2010-12-13 20:15:50

1

你不能從PHP引用一個HTML表。您的JS應該只是將表格數據從HTML表格中提取出來作爲JSON。您的PHP可以響應一些更多的JSON,您的JS可以用它來操縱現有的表。

用作XHR響應的php文件不應該生成JS。只是JSON。

1

是的,你必須把數據放在POST參數。不要使用GET,因爲表格可能會變大。您可以使用JavaScript從元素中獲取所有數據。用ajax發送數據到一個php頁面。現在,您可以獲取發佈數據並與其進行匹配(例如持久化)。

你不能直接用php獲取它的原因是因爲當php運行在web服務器(服務器端)時,html和javascript由瀏覽器(客戶端)運行。您需要在這些機器之間進行某種通信以使用其他資源。