我有一个onsubmit调用ajaxFunction()的表单... ajaxfunction调用一个php函数,它从mysql db返回结果......
问题是后退按钮...我希望用户能够搜索然后再次搜索,然后使用后退按钮返回上一个搜索,但这不会工作...请记住,表单并不真实提交,它称为ajaxfunction ...
我是否必须提交表单才能使用后退按钮?
BTW我已经尝试过提交表单了,但是页面刚刚刷新并且ajaxfunction没有被调用,这导致没有mysql结果,因为php文件从未被调用过!!!感谢所有帮助人员...如果您需要更多输入,请告诉我......
答案 0 :(得分:0)
您可以将表单提交到当前页面上的命名锚点,这不会引起服务器请求。
您的表格:
<form action="#anchor">
...
</form>
表单的目的地(在同一页面上)
<a name="anchor">...</a>
如果您这样做,后退按钮将导航回地址栏中的预表单提交地址,而不会重新加载页面。
更新:尝试使用Really Simple History:)
答案 1 :(得分:0)
我认为让用户点击“后退”按钮几乎会破坏启用ajax的表单的好处。
在调用ajax函数之前,清除div的innerHTML属性,以便从一个干净的平板开始。或者允许用户控制它,在按钮中提供功能。
document.getElementById("divid").innerHTML = "";
或jQuery:
$("#divid").html("");
编辑/更新:由于某些原因我无法访问该网站,但他们可能正在使用一些jQuery或Javascript来捕获页面的unload事件。 SO使用这样的东西。您可以使用该事件来调用上面提到的内容:
$(window).unload(function() {
$("#divid").html("");
});