大家好,我需要你就我的问题的最佳解决方案提出建议....
所以我有简单的html表单,它有输入框,选择和东西......
我的一个选择字段从数据库生成其选项当用户选择任何选项时3个输入字段自动填充,问题是如果值不存在我有选项值来创建新的。如果用户选择此选项,javascript会重定向到新页面,在该页面中可以创建新选项并将其保存到数据库,然后将该用户重定向回形式,但输入字段的所有字段现在都已填充....
保存用户输入的所有输入值的最佳方法是什么,以便我可以将用户导航到不同的页面,在那里他可以将项目添加到数据库并将其重定向回相同的表单并填回所有字段?
我认为首先将所有输入值放入数组并使用php函数http_build_query()通过GET发送并在重定向上返回发送相同的数组,但表单有20个字段,我相信它不是最好的解决方案发送数据占用服务器资源......
其次,将所有内容放到json临时文件中,保存在服务器重定向用户上,然后重定向返回获取此json文件并填充数据然后删除文件...(我最喜欢这个想法)
第三,如果需要,创建隐藏表单(如灯箱)会显示此表单,但是这里有问题,如果我重定向到相同或不同的页面,我必须重定向某个地方我仍然会丢失所有数据...
任何想法的人?
答案 0 :(得分:0)
在这种情况下最好使用弹出框(lightbox)。填写其他表单并在表单提交时向其添加事件处理程序。尝试在处理程序中使用event.preventDefault(),然后附加jquery.post方法:
$( "#additional_form" ).submit(function( event ) {
event.preventDefault();
$.post('post.php', $('#additional_form').serialize());
$(#lightbox).hide();
});
有很多方法可以做到,你也可以直接序列化而不发送。或者将其附加到您的主要表单。
答案 1 :(得分:0)
使用给定的代码
$("#additional_form").submit(function(event) {
event.preventDefault();
$.post('post.php', $('#additional_form').serialize());
$(#lightbox).hide();
});