我希望这并不比看起来更难。
我想创建一个带有几个文本框的HTML表单,允许人们输入一些数据,我希望将这些更改保存到表单中。
例如,如果我的html页面显示:
姓名:[]
...我希望有人能够点击[]
并输入他们的姓名等,然后点击保存
然后让表格说:
姓名:“人名”
如果有人想要更新,可以点击此人的姓名并进行更改,然后点击“保存”并让HTML表单自行更新。
我该怎么做?我到处寻找,人们都在谈论HTML5和PHP。制作这样一个简单的页面真的很复杂吗?
(如果我的html中我不清楚我使用的是contenteditable="true"
选项。如何保存这些更改?)
答案 0 :(得分:2)
我认为您的问题表明您还不知道网页(包括表单)是“无状态”的,这意味着它们不会“自动”保存或存储您使用它们执行的任何操作。很抱歉让人失望,但作为初学者,你很难找到“一个简单”的解决方案。
这并不是说它无法完成 - 你无疑无处可见 - 但是你的知识水平忽略了你需要实际编程逻辑以确定你的表单如何“出现”以存储信息并在以后的访问中重现。
这是(真的)简短摘要:
当您的表单被您的用户使用时,在他们看到表单之前已经发生了一些事情:
用户请求了该页面(输入网址或点击链接)
网络服务器已发送请求的网页(即您的网站已发送表单)
接下来发生的事情是您的用户在表单上输入了一些数据。这些数据不会存储在任何地方 - 如果刷新页面,数据就会消失,因为步骤1和2会再次发生。
为避免这种情况,您可以使用许多工具:
Javascript :这可以在用户的计算机上运行。您可以使用它来查明表单上是否存在某些内容,并将其存储在例如cookie中。
然后你必须在你的页面中构建一些逻辑,说“如果我的用户刷新页面或者以后回到这个站点,那么找一下cookie。如果它存在,那就拿它的值和在用户看到之前预先填写表单。“
服务器端脚本:此逻辑可以内置到您的Web服务器中(使用像PHP这样的服务器端脚本),因此它实际上在步骤2中运行。
或者,您可以将其构建为javascript函数,该函数会在您的用户实际收到该页面时触发。这将是第3步。
第二种选择结合了这两个想法(用户端的处理和Web服务器端的处理),称为AJAX,这基本上意味着当数据是“动态”时,javascript和PHP之间的“讨论”发生。输入或更改。
最后,您可能需要考虑使用PHP会话来存储数据和/或mySQL数据库。最近随着现代浏览器的出现,您现在可以将信息存储在用户浏览器可用的本地数据库中......
在所有这些情况下,您将需要了解这些部分如何相互通信,如何检索信息,以及如何更新无状态和静态表单。
你可能认为不是那么简单......
答案 1 :(得分:0)
您不需要HTML5。 HTML4足够好了:))
但是您需要一些保存更改的服务器端脚本(在服务器端,例如DB或XML文件)。为了获得更好的体验(如果多个用户同时使用该表单),我建议您使用AJAX保存更改并轮询服务器以进行更新。
答案 2 :(得分:0)
这并不复杂(至少我认为不是这样),但它似乎比你已经知道的要早一代。在不需要帮助的情况下完成这类工作之前,可能需要相当长的时间才能使结构到位。
有一些基本问题
如果信息可以在下次回到您的页面时消隐,那么很简单。
否则,我们需要一种方法来跟踪哪个用户看到了哪些信息,因此德克萨斯州的人看不到唐人街输入的信息.Cookie是一种常见的方法。如果没有太多信息,您可以将信息保存到cookie中。
否则,您需要服务器端语言。这通常是在PHP中,但是首先要确定哪种语言与你想要学习的原因有什么关系?你想在以后为公司工作吗?你有自己的网站吗?
请发表评论,让我了解更多信息,以及两个基本问题的答案,我最好能够回答。
通常,对于大多数情况,存在登录名和密码(或OpenID),如果清除了cookie,则用户再次登录,但这需要一些工作来设置工作登录,然后再重新访问此如何存储他们输入的内容的问题。