2011-06-16 169 views
0

我希望這不會比看起來更難。可編輯表格並保存更改

我想創建一個帶有幾個文本框的HTML表單,它允許人們輸入一些數據,並且我希望這些更改被保存到表單中。

例如,如果我的html頁面說:

名稱:[]

...我希望有人能夠點擊[]並輸入他們的名字,等等。然後點擊保存 ,然後有形式說:

名稱:「人的名稱」

如果有人想更新它,他們可以點擊該人的姓名並更改它,然後點擊保存並自行更新HTML表單。

我該怎麼做?我到處都在尋找,人們都在談論HTML5和PHP。製作這樣一個簡單的頁面真的很複雜嗎?

(如果我是不是在我的HTML清楚我使用的contenteditable="true"選項。我​​如何保存這些更改?)

+0

您想用什麼來存儲數據?我的意思是,如果你不想長期保持它,你可以使用JavaScript來顯示它,但我不明白這一點。 – 2011-06-16 00:50:26

+0

你能接受其中一個答案嗎? – T9b 2011-07-25 07:35:40

回答

0

你不需要HTML5。 HTML4足夠好:)

但是你需要一些服務器端腳本來保存更改(在服務器端,例如在DB或XML文件中)。爲了讓它更好體驗(如果多個用戶同時使用表單),我建議您使用AJAX保存更改並輪詢服務器以獲取更新。

0

這並不複雜(至少我不認爲它是這樣),但它似乎比你已經知道的要早一代。在沒有需要幫助的情況下完成此類事情之前,可能需要相當長的時間才能建立結構。

有一些基本的問題

  • 是否需要信息時,用戶點擊刷新留得救嗎?
  • 當用戶清除cookie時是否需要保存信息?

如果信息可以在下次回到您的頁面時被刪除,那麼很簡單。

否則,我們需要一種方法來跟蹤哪個用戶可以看到什麼信息,因此得克薩斯州的人沒有看到中國城中輸入的信息.Cookie是一種常見的方式。如果沒有太多信息,您可以將信息保存到Cookie中。

否則,您需要嚴謹的語言。這通常是用PHP編寫的,但是要決定什麼語言與你想要首先學習的原因有關?你想在以後爲公司工作嗎?你有你自己的網站嗎?

請發表評論以讓我知道更多關於發生了什麼事,以及對這兩個基本問題的答案是什麼,我會更好地回答。

通常,對於大多數情況下,存在登錄名和密碼(或OpenID),並且如果清除了cookie,則用戶再次登錄,但在重新訪問之前需要一些工作來設置工作登錄這個如何存儲他們輸入的問題。

2

我認爲你的問題表明你不知道網頁(包括表單)是「無狀態的」,這意味着它們不會「自動」保存或存儲你對它們做的任何事情。很抱歉,令人失望,但作爲初學者,您將很難找到「簡單」的解決方案。

這並不是說它不能完成 - 你無疑在任何地方都可以看到它 - 但是你的知識水平錯過了這樣一個事實,即你需要真正編程邏輯來確定你的表單將如何「出現」存儲信息並在稍後的訪問中重現。

這裏有一個(真的)小結:

當你的形式使用您的用戶,一對夫婦的事情都已經發生了,他們能看到表單之前:

  1. 用戶已請求的頁面(輸入網址或點擊鏈接)

  2. 網絡服務器發送請求的頁面(也就是,你的網站發送了形式)

發生的下一件事是您的用戶在窗體上輸入一些數據。這些數據不會存儲在任何地方 - 如果您刷新頁面,則數據已消失,因爲步驟1和2再次發生。

因此,爲了避免這種情況,你可以使用一些工具:

的Javascript:此操作用戶的計算機上。您可以使用它來查明某個表單上是否存在某些內容,並將其存儲在例如Cookie中。

然後,你將不得不在你的頁面中建立一些邏輯,說:「如果我的用戶刷新頁面或在以後返回到這個網站,然後查找cookie。如果它存在,然後把它的值並在用戶看到之前預填表格。「

服務器端腳本:這種邏輯可以內置到您的Web服務器(使用如PHP的服務器端腳本),因此它實際上在步驟2中

或者運行就可以構建成一個javascript函數當用戶實際收到頁面時觸發。這將是第3步。

第二種替代方法將AJAX這兩個想法(在用戶端進行處理並在Web服務器端進行處理)結合起來,這基本上意味着您的JavaScript和PHP之間的「討論」發生在「在數據輸入或更改時即時「。

最後,您可能需要考慮PHP會話來存儲數據和/或mySQL數據庫。最近,隨着現代瀏覽器的出現,您現在可以將信息存儲在用戶瀏覽器可用的本地數據庫中...

在所有這些情況下,您需要了解這些組件如何相互交流,如何檢索信息,以及如何更新無狀態和靜態表單。

它不像您想象的那樣直截了當......

相關問題