网站地图    收藏   

主页 > 前端 > html教程 >

使用input type=text value=str取值不完全解决方案_HT

来源:自学PHP网    时间:2014-12-15 15:58 作者: 阅读:

[导读] 想要取得格式化之后的数据时,在value=方法取值时,只能取到“XXXX年XX月XX日”,后面的“星期X”一直取不到解决方法如下,感兴趣的朋友可以参考下...

想要取得格式化之后的数据时,在value=方法取值时,只能取到“XXXX年XX月XX日”,后面的“星期X”一直取不到解决方法如下,感兴趣的朋友可以参考下
今天碰到一个很奇怪的问题,看看如下代码:
SimpleDateFormat dateFormat = new SimpleDa

复制代码
代码如下:
teFormat("yyyy年MM月dd日 E ");
String date = dateFormat.format(new Date());

本意是想要打印出来XXXX年XX月XX日 星期X
问题出在如下代码,当我想要取得格式化之后的数据时,在value=方法取值时,只能取到“XXXX年XX月XX日”,后面的“星期X”一直取不到

复制代码
代码如下:

<td align="left">
<label>
<input type="text" value=<%=date%> disabled />
</label>
</td>

①后来想到,有可能是HTML转义问题,于是就将"yyyy年MM月dd日 E "中的空格全部去掉了,结果可以正常取值了或者改为“yyyy年MM月dd日-E”
②还有一种方法,只要使用转义字符将准备显示的字符串中内容逐个替换即可

复制代码
代码如下:

<%
String result = "";
for (int i = 0; i < date.length(); i++) {
switch (date.charAt(i)) {
case '<':
result += "<";
break;
case '>':
result += ">";
break;
case '&':
result += "&";
break;
case '"':
result += "\"";
break;
case '\'':
result += "'";
break;
case ' ':
result += "&nbsp;";
break;
default:
result += date.charAt(i);
}
}
%>

参考内容如下
HTML原代码 显示结果 描述
&lt; < 小于号或显示标记
&gt; > 大于号或显示标记
&amp; & 可用于显示其它特殊字符
&quot; " 引号
&reg; ® 已注册
&copy; © 版权
&trade; ™ 商标
&ensp;  半个空白位
&emsp;  一个空白位
&nbsp; 不断行的空白

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论