你现在的位置:首页 > PHP网站建设知识库 > ecshop > 正文

火狐浏览器下,ecshop表单无法刷新重置的解决办法

这个问题不是ECSHOP系统独有的,所有涉及到表单的页面都会出现类似问题:
问题现象为:在火狐浏览器下,ECSHOP表单无法刷新重置。
首先来举例分析一下原因,然后再给出解决办法

如下的最简单的HTML代码

<input type="text" name="text" value=ecshop>

在Firefox 下面,如果你更改了表单的内容,然后你点击刷新按钮,你会发现,文本框里面的数值并没有回复到原始值,而仍然是你修改后的数值。

有2种猜测:
1、 火狐缓冲了页面,发现文件没有改变,所以页面也不变
2 、火狐替你自动填写了你刚才填写的东西,类似自动填表功能

测试发现,即使在页头加入以下代码,依然无效
<meta http-equiv="pragma" content="no-cache" />
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2010 11:12:01 GMT">
因为文件内容改变了,可是文本框依然还是没有回复原始值
第一种可能被排除了

第二种,打开Firefox 发现了自动填表功能,但是他前面的选择框并没有选中,看来也不是这里。
经搜索发现,这个问题还是挺普遍的,最终在firefox的网站找到了答案
http://developer.mozilla.org/en/docs/How_to_Turn_Off_Form_Autocompletion
将文本框修改为
<input type="text" name="text" value=ecshop120 autocomplete="off">
如果只是单个字段,可以在单个字段上进行修改,
如果是整个表单,则可以在form上修改,如下代码:
<form name="frm_user" id="frm_user" method="post" autocomplete="off">
如上,问题得以解决!