`

清除wml表单文本框缓存 wml缓存清除

    博客分类:
  • WML
 
阅读更多

 

$rd_nocache = random(6);

' 新的页面地址,使页面缓存无效

<a href=\"index.php?action=pm&amp;do=send&amp;$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&amp;do=send&amp;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%>"/>

这样每次修改进去,由于表单名称都不同,因此就会读取最新记录,而不是缓存信息!

代码如下:

Java代码  收藏代码
  1. <%@ page language="java" contentType="text/vnd.wap.wml; charset=GB2312"  
  2.         import="java.util.HashMap"  
  3.         import="com.kingtop.pfb.*"  
  4. %>  
  5. %><?xml version="1.0"?>  
  6. <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">  
  7. <wml>  
  8. <head>  
  9.   <meta http-equiv="Cache-Control" content="max-age=0" forua="true"/>  
  10.   <meta http-equiv="Cache-Control" content="no-cache"/>  
  11. </head>  
  12. <card id="Home" title="加入电子优惠券">  
  13. <%  
  14. String aa = (int)(Math.random()*100+100)+"";  
  15. String s___  = String.valueOf(System.currentTimeMillis());  
  16. String m = request.getParameter("m");  
  17. String code = request.getParameter("code");  
  18. EwmWapClient ewc = new EwmWapClient();  
  19. Object[] data = null;  
  20. if ( !"".equals(m))  
  21. {   
  22.     data = ewc.yhq_add_kc(m,code);  
  23.     int ret = Integer.parseInt((String)data[0]);  
  24.     String msg = (String)data[1];  
  25.     if ( ret == 0 )  {  
  26.         out.println("<a href=\"youhuiquan.jsp?m="+m+"&s___="+s___+"\">增加成功,进入列表</a>");   
  27.     }else{  
  28.         out.println(msg);  
  29.     }  
  30. }  
  31. out.println("m="+m);  
  32. out.println("code="+code);  
  33. out.print("aa="+aa);  
  34. %>  
  35. <p align="left">  
  36. <fieldset title="加入电子优惠券">  
  37. 手机号:<input type="text" name="m<%=aa %>" size="12" format="*n" maxlength="11"/><br/>  
  38. 数字码:<input type="text" name="code<%=aa %>" size="13" format="*n" maxlength="12"/>  
  39. </fieldset>  
  40. <anchor title="手机号">  
  41. <go method="post" href="<%=request.getRequestURI()%>?s___=<%=s___%>">  
  42. <postfield name="m" value="$(m<%=aa %>)"/>  
  43. <postfield name="code" value="$(code<%=aa %>)"/>  
  44. </go>提交  
  45. </anchor>  
  46.   
  47. <br/><br/><a href="index.jsp?s___=<%=s___%>">返回</a>  
  48. </p>  
  49. </card>  
  50. </wml>  




    如何去除WAP页面输入框缓存?
    在WAP页面输入框的缓存是让用户感到很头疼的东西,很多时候我们第二次访问同一个输入框是想重新输入值的,结果页面响应给我们的框里却遗留了上一次输入的值。还需要手动的删除上一次数据再重新输入数据。从这个操作上来说让用户体验很不流畅,或者说给用户使用带来了阻力。
            为了规避这种输入框缓存,我们可以利用随机数,如参数param我们可以写成 param + random

分享到:
评论

相关推荐

    WML教程之文本框控件Input

    本教程将深入探讨WML中的文本框控件`&lt;input&gt;`。 ### `&lt;input&gt;`标签的基本结构 `&lt;input&gt;`标签用于定义一个输入字段,其中至少需要设置`name`属性来指定存储用户输入的变量名。其他的属性可以根据需要进行选择性设置...

    WML语言参考教程 WML

    5. **输入元素(Input Elements)**: 与HTML类似,WML支持用户输入,如文本框(`&lt;input&gt;`)和选择列表(`&lt;select&gt;`)。 ### 二、WML数据类型 1. **变量(Variables)**: 变量用于存储和传递数据,通过`&lt;var&gt;`标签...

    Learning WML & WML Script

    《Learning WML & WML Script》是一本由Martin Frost编写的书籍,专注于介绍无线标记语言(WML)和WML脚本,适用于那些希望在移动通信领域开发内容的开发者。WML是Wireless Markup Language的缩写,是为无线应用平台...

    WML语法大全WMLScript语法大全

    **WML语法详解** WML(Wireless Markup Language)是一种基于XML的标记语言,专为无线设备设计,如手机、传呼机和个人数字助理(PDA)。它旨在为这些设备提供交互式的用户界面,考虑到它们的特性:体积小巧、内存和...

    WML1.1协议标准

    4. **表单处理**:WML支持简单的表单元素,如`&lt;input&gt;`、`&lt;select&gt;`、`&lt;option&gt;`等,用于用户输入和数据提交。 5. **变量与脚本**:WML1.1通过`&lt;var&gt;`元素可以创建变量,但不支持复杂的脚本语言,通常配合WAP网关的...

    WML 详细中文教程

    2. **表单提交**:通过`&lt;go&gt;`元素和`href`属性,可以定义用户点击后的动作,如跳转到新的WML页面或执行服务器端脚本。 3. **事件响应**:WML支持简单的事件处理,如`onenterforward`和`onenterbackward`,用于定义...

    wml标记及语法.doc

    书签的 CARD,而不会重新下载整个 DECK。...WML 文件由卡片组成,每个卡片包含各种元素,如文本、链接和表单,用于构建无线应用的用户界面。理解 WML 的基本结构和语法规则,对于开发适应移动设备的 web 应用至关重要。

    HTML到WML格式转换

    WML(Wireless Markup Language)则是专门为无线设备如早期的移动电话设计的一种标记语言。在20世纪90年代末到21世纪初,当智能手机尚未普及,WML被广泛用于创建适应小屏幕和低带宽环境的移动网页。它的设计目标是使...

    wml详细讲解(exe+word)

    5. **交互性**:WML支持表单和用户输入,可以创建简单的互动功能,如搜索或数据提交。 **WAP与WML的关系** WAP是一个框架,包含了多种技术,如WML、WMLScript(类似于JavaScript的脚本语言)和WAP协议栈,用于处理...

    WML和script中文文档

    3. **集成WML Script**:添加交互性和动态功能,如表单验证、数据处理等。 4. **测试与优化**:在多种设备上测试网站,确保兼容性和性能,可能需要调整内容布局或脚本逻辑。 5. **部署**:将WML文档上传至支持WAP的...

    WML标签及WML语法介绍手册

    **WML(Wireless Markup Language)**是一种专为无线设备如早期的移动电话设计的标记语言,用于创建适应小屏幕的交互式应用。WML标签和语法是构建这些应用程序的基础,下面将详细介绍WML标签的基本结构和常用属性。 ...

    wap wml

    **WML (Wireless Markup Language)** 是一种专为窄带移动设备如早期的手机和寻呼机设计的标记语言,它是基于XML的,用于创建在这些小型设备上展示的内容和用户界面。WML的设计考虑了设备的局限性,如小屏幕、有限的...

    wml.rar_WML

    1.3 WML Card:卡片是WML的基本单位,每个卡片上可以包含文本、链接、表单等元素。卡片间的跳转通过`go`元素实现,用户可以通过按键或触摸屏进行操作。 二、WML与HTML的区别 2.1 设计目标:WML面向有限显示面积和...

    wml介绍,简单易懂,纯word文档

    2. **预定义元素**:WML有预定义的一些元素,如`&lt;go&gt;`(跳转到另一个卡片或URL)、`&lt;submit&gt;`(提交表单数据)、`&lt;input&gt;`(接收用户输入)等。 3. **文本格式化**:WML提供了如`&lt;p&gt;`(段落)、`&lt;b&gt;`(粗体)、`&lt;i&gt;`...

    wml教程及常用功能介绍

    在`wml补充.txt`、`wml下.txt`、`wml中.txt`和`wml上.txt`这四个文件中,可能包含了各种WML实践案例,比如基本的卡片布局、表单处理、动态内容生成等。通过逐个阅读这些案例,你可以更深入地理解WML的实际应用。 **...

    编写wml的简单工具

    **WML(Wireless Markup Language)简介** WML,无线标记语言,是一种专为移动设备设计的标记语言,主要用于创建适应于低带宽、小屏幕的无线应用,如早期的移动电话上的网页。WML是WAP(Wireless Application ...

    wml转换为html

    在处理更复杂的WML文档时,你需要编写更多的XSLT模板来处理不同的WML元素,例如`&lt;menu&gt;`, `&lt;go&gt;`和`&lt;input&gt;`等。同时,考虑到HTML5的特性,可能还需要添加对多媒体、表单验证和响应式设计的支持。 在压缩包文件`...

    关于wml的常见问题解答

    一、WML概述 WML,全称为Wireless Markup Language,即无线标记语言,是一种专为移动设备设计的标记语言,旨在优化无线网络上的数据传输和显示。它由WAP论坛在1998年推出,作为WAP(Wireless Application Protocol...

Global site tag (gtag.js) - Google Analytics