普通情况下:
<%
String msg = request.getParameter(”msg”);
String emo= request.getParameter(”emo”);
msg=msg+emo;
%>
文本框写成: <input name=”msg” value=”<%=msg%>” type=”text” emptyok=”true”/><br/>
表单定义成
<go href=”/test.jsp” method=”post”>
<postfield name=”msg” value=”$msg”/>
<postfield name=”emo” value=”test”/>
</go>添加表情</anchor>
表单是提交给当前页面的。
测试步骤如下:
在消息框输入内容“汉字”,提交表单。
预期结果为:文本框显示为“汉字test”,但是实际情况却是依然只显示“汉字”.
经过多次测试验证,发现这是手机浏览器或Opera等的表单缓存问题。
解决办法为:
将文本框的name定义成随机的。表单中关联到随机的文本框变量名,
修改后的代码如下:
<%
String msgName=”m”+rd.nextInt(65536*6);//随机数产生input名字
String msg = request.getParameter(”msg”);
String emo= request.getParameter(”emo”);
msg=msg+emo;
%>
文本框写成: <input name=”<%=msgName %>” value=”<%=msg%>” type=”text” emptyok=”true”/><br/>
表单定义成
<go href=”/test.jsp” method=”post”>
<postfield name=”msg” value=”$<%=msgName %>”/>
<postfield name=”emo” value=”test”/>
</go>添加表情</anchor>
经过测试,不提交当前页面的,也有类似问题,三星X708破手机就是这样的。
Tags: wmlRelated posts
Tags: wml