2009-11-10 57 views

回答

1

如果表單所需的所有信息已經存在在頁面上,然後AJAX將是矯枉過正和簡單的Javascript將完成這項工作。這沒有經過測試,但是;

<form id="myform"> 
    <input id="name" type="text" ... /> 
</form> 

<tr> 
    <td onclick="populateFormElement('myform', 'name', this);">Bob</td> 
</tr> 

in javascript;

function populateFormElement(formName, inputName, element) 
{ 
    document.formName.inputName.value = element.firstChild.data; 
} 

這適用於單個元素,但應該是一個合理的起點,因爲該過程很容易適應整行。只需將onclick事件放在tr元素上,再逐步遍歷各個子元素以提取相關數據。

+0

我真的不知道,這就是爲什麼我問。沒有批評意圖。 「用戶數據」(例如表格中的東西)真的可以被信任嗎?如果用戶改變了一些東西,會不會更糟? – Franz 2009-11-10 15:29:28

+0

沒問題。我意識到你不知道,但是不管這個函數是在單個元素上還是在整個組中(即表格行)都有效,你需要了解發生了什麼事情才能讓它在你的特定應用程序中工作。也許你的下一站應該是一個Javascript教程或兩個?至於用戶數據是否可以信任,我不能說沒有更多的信息。我會說這是一個全新的問題! – Mathew 2009-11-10 16:59:01

0

去獲取JQuery,並看看它的AJAX函數。您將需要使用PHP準備數據,並創建一個專門的頁面來爲它們提供服務。當用戶點擊按鈕時,將調用AJAX函數,它將從服務器加載數據,然後解析它們,並填充網格...

1

有什麼辦法可以做到這一點,而無需刷新頁面?

所以,關鍵是異步Ajax中的第一個A代表同一個詞。您還用Ajax標記了該問題。所以我希望你對此有一定的瞭解。

但實際的問題根本不需要一個ajaxical解決方案。根本不需要從服務器端發送和接收數據,因爲所有需要的數據在相同的 HTML DOM樹中已經可用。

唯一可以訪問和遍歷客戶端HTML DOM樹的語言是Javascript。它根本不會刷新頁面。只需相應地編寫代碼並在錶行的onclick事件中執行它。

如果你實際上在編寫Javascript代碼時有問題,那麼你需要在你的問題中詳細說明一下。不要問「有什麼辦法嗎?」 - 答案是在99.99%的案例yes,但只是問「我該怎麼做?」,並提供有關您所使用的編碼的相關信息。

+0

@Balus:我正在使用第三方DataGrid來顯示記錄。我需要試驗列值是否可以通過DOM獲取。 DataGrid的設計方式是,單擊一行時,它會選擇rowID,然後在服務器上搜索更多細節。 – RKh 2009-11-10 18:01:35

+0

「第三方」DataGrid(讓我猜,ASP?)毫無疑問只是呈現一堆普通的香草HTML/JS/CSS。在網頁瀏覽器中打開頁面並選擇「查看源代碼」。一個新的世界將打開。 – BalusC 2009-11-10 18:04:56

相關問題