扫除wml表单文本框缓存 wml缓存清除
清除wml表单文本框缓存 wml缓存清除?$rd_nocache random(6) 新的页面地址,使页面缓存无效a href\in
清除wml表单文本框缓存 wml缓存清除
?
$rd_nocache = random(6);
' 新的页面地址,使页面缓存无效
<a href="index.php?action=pm&do=send&$rd_nocache">$lang[pm_send]</a><br />\n"
' 新的表单名称,使表单缓存无效
echo "<p>$lang[pm_to]:<input type="text" name="msgto$rd_nocache" value="$pm[msgfrom]" maxlength="20" format="" /><br />\n".
"<anchor title="$lang[submit]">$lang[submit]".
"<go method="post" href="index.php?action=pm&do=send&sid=$sid">\n".
"<postfield name="msgto" value="$(msgto$rd_nocache)" />\n".
"</go></anchor>\n";
?
?
?
?
?
由于手机浏览器缓存的问题,我们会发现在WAP中修改记录点进去时候仍然是上一条记录信息,也就是缓存信息,比方说修改新闻,修改个人资料等。本人在网上找了很多资料,如有网友提出 加一个禁止缓存代码,如下
<meta http-equiv="Cache-Control" content="no-cache"/><!-- 禁止浏览器从缓存中访问页面内容 -->
<meta http-equiv="Expires"?? content="0"/>?
<meta http-equiv="Pragma"?? content="no-cache"/>?
但是在实际测试过程中,仍然没用。
经过一番思考,想到了一个解决方法,就是将每次修改记录的表单里面的文本框等名字变不同,即可。那样也无所谓缓存了,通过这个思路,下面以JSP为例子给大家提供一个简单说明:
我们在页面上生成一个随机数:String ID= (int)(Math.random()*100+100)+"";
设置ID=request.QueryString("ID")
文本框的名称name设置为:name="title<%=ID%>"
提交处:<postfield name="title" value="$title<%=ID%>"/>
这样每次修改进去,由于表单名称都不同,因此就会读取最新记录,而不是缓存信息!
代码如下:
<%@?page?language="java"?contentType="text/vnd.wap.wml;?charset=GB2312"??????????import="java.util.HashMap"??????????import="com.kingtop.pfb.*"??%>??%><?xml?version="1.0"?>??<!DOCTYPE?wml?PUBLIC?"-//WAPFORUM//DTD?WML?1.1//EN"?"http://www.wapforum.org/DTD/wml_1.1.xml">??<wml>??<head>????<meta?http-equiv="Cache-Control"?content="max-age=0"?forua="true"/>????<meta?http-equiv="Cache-Control"?content="no-cache"/>??</head>??<card?id="Home"?title="加入电子优惠券">??<%??String?aa?=?(int)(Math.random()*100+100)+"";??String?s___??=?String.valueOf(System.currentTimeMillis());??String?m?=?request.getParameter("m");??String?code?=?request.getParameter("code");??EwmWapClient?ewc?=?new?EwmWapClient();??Object[]?data?=?null;??if?(?!"".equals(m))??{???????data?=?ewc.yhq_add_kc(m,code);??????int?ret?=?Integer.parseInt((String)data[0]);??????String?msg?=?(String)data[1];??????if?(?ret?==?0?)??{??????????out.println("<a?href="youhuiquan.jsp?m="+m+"&s___="+s___+"">增加成功,进入列表</a>");???????}else{??????????out.println(msg);??????}??}??out.println("m="+m);??out.println("code="+code);??out.print("aa="+aa);??%>??<p?align="left">??<fieldset?title="加入电子优惠券">??手机号:<input?type="text"?name="m<%=aa?%>"?size="12"?format="*n"?maxlength="11"/><br/>??数字码:<input?type="text"?name="code<%=aa?%>"?size="13"?format="*n"?maxlength="12"/>??</fieldset>??<anchor?title="手机号">??<go?method="post"?href="<%=request.getRequestURI()%>?s___=<%=s___%>">??<postfield?name="m"?value="$(m<%=aa?%>)"/>??<postfield?name="code"?value="$(code<%=aa?%>)"/>??</go>提交??</anchor>????<br/><br/><a?href="index.jsp?s___=<%=s___%>">返回</a>??</p>??</card>??</wml> ?
如何去除WAP页面输入框缓存?
在WAP页面输入框的缓存是让用户感到很头疼的东西,很多时候我们第二次访问同一个输入框是想重新输入值的,结果页面响应给我们的框里却遗留了上一次输入的值。还需要手动的删除上一次数据再重新输入数据。从这个操作上来说让用户体验很不流畅,或者说给用户使用带来了阻力。
? ? ? ? 为了规避这种输入框缓存,我们可以利用随机数,如参数param我们可以写成 param + random