HTML 表单保存临时数据

html form save temp data

本文关键字:数据 保存 表单 HTML      更新时间:2023-09-26

大家好,我需要你们关于我问题的最佳解决方案的建议......

所以我有一个简单的 html 表单,其中包含输入框、选择和东西......

我的一个选择字段从数据库中生成其选项,当用户选择任何选项 3 输入字段时会自动填充,问题是如果值不存在,我有选项值来创建新的。如果用户选择此选项javascript将重定向到可以创建新选项并将其保存到数据库的新页面,在该用户被重定向回表单之后,但是输入字段现在已填写的所有字段都是空的。

保存用户输入的所有输入值的最佳方法是什么,以便我可以将用户导航到不同的页面,在那里他可以将项目添加到数据库并将他重定向回相同的表单并填写所有字段?

我想到的第一件事是将所有输入值放入数组并使用 php 函数 http_build_query() 通过 GET 发送,并在重定向时将相同的数组发送回去,但表单有大约 20 个字段,我相信这不是最佳解决方案,因为发送数据需要服务器资源......

其次,将所有内容放入json临时文件,保存在服务器上重定向用户,并在重定向时返回获取此json文件并填充数据,然后删除文件...(我最喜欢这个主意)

第三,要创建隐藏表单(如灯箱)在需要时显示此表单,但是此表单提交的问题出现,如果我重定向到相同或不同的页面,它必须重定向到某个地方,我仍然会丢失所有数据......

知道伙计们吗?

在这种情况下最好使用弹出框(lightbox)。用其他表单填写它,并在提交表单时向其添加事件处理程序。尝试在处理程序中使用 event.preventDefault(),然后附加 jquery.post 方法:

$( "#additional_form" ).submit(function( event ) {
  event.preventDefault();
  $.post('post.php', $('#additional_form').serialize());
  $(#lightbox).hide();
});

有很多方法可以做到这一点,您也可以在不发送的情况下序列化它。或者将其附加到主窗体。

使用给定的代码

$("#additional_form").submit(function(event) {
  event.preventDefault();
  $.post('post.php', $('#additional_form').serialize());
  $(#lightbox).hide();
});