返回上一个包含动态内容的网页

时间:2013-07-04 09:43:23

标签: php javascript

我开发了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注意到一个类似的问题,但没有任何答案)。

请你的建议。

2 个答案:

答案 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”。