我开发了2个网页: - 包含动态内容的第1页 - 通过按钮添加或删除表单+ javascript函数+所有已创建表单的提交按钮。成功提交表单中的数据后,php文件重定向到第2页: - 第2页,带有返回页面1按钮(使用window.history.go(-1)javascript函数)
当从第2页返回到第1页时,动态创建的表单似乎丢失了(例如,查看了没有动态内容的原始页面1),这是不可能发生的。
返回第1页时如何保留表单? (我在https://stackoverflow.com/questions/17220024/back-button-for-dynamic-textbox-generation-page-in-php-using-sesison注意到一个类似的问题,但没有任何答案)。
请你的建议。
答案 0 :(得分:1)
您应该只使用一个页面并在ajax中处理您的数据。 第1页=一个div和Page 2 =另一个div 使用属性显示(如果需要,可以使用效果)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div id="page1">
page 1
<form>
<input type="text" id="txt1"><br>
<button onclick="savePage1();" type="button">Page 2 ></button>
</form>
</div>
<div id="page2" style="display:none;">
page 2
<button onclick="backPage1();" type="button">< Page 1</button>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
function savePage1() {
// php processing
/*$.ajax({
url: "/savePage1.php",
data: {
data1: $('#txt1').val()
},
success: function( data ) {
// ...
}
});*/
// insert code into success
$('#page1').hide();
$('#page2').show();
}
function backPage1() {
$('#page2').hide();
$('#page1').show();
}
</script>
</body>
</html>
答案 1 :(得分:0)
当然,如果您没有进行恢复功能,当重新加载页面(或者用户将从页面移动并返回)时,动态内容(或任何动态更改)将会丢失。事实上,如果页面刚刚刷新,某些浏览器可以保存表单输入的内容,但你绝对不应该依赖于此。
因此,要恢复动态更改,您必须自己创建处理程序。只需保存会话提交内容并使用数据填充第1页。
您未指定所有“动态”功能,因此我无法告诉您此过程自动化的最佳方式。对于基本需求谷歌的“人口形式js”。