当前页面: 开发资料首页 → JSP 专题 → 关于日期控件在普通HTML和Struts里HTML标签库中的应该用问题?
关于日期控件在普通HTML和Struts里HTML标签库中的应该用问题?
摘要: 关于日期控件在普通HTML和Struts里HTML标签库中的应该用问题?
小弟最近找了一个JS脚本写的日期控件!
在HTML里引用代码如下:
<head>
<script language="JavaScript" src="calendar.js"></script>
<script language="JavaScript" src="selectdate.js"></script>
</script>
</head>
<body>
<input type="text" name="startTime" onClick="calendar();">
</body>
在HTML里测试没有问题!
下面是
%@ page language="java" import="java.util.List" pageEncoding="gb2312"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%>
<%@ taglib uri="http://displaytag.sf.net/el" prefix="display"%>
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
JSP for porductQueryForm form<link> rel="stylesheet" href="/css/displaytag.css" type="text/css">
<link> href="../css/css.css" rel="stylesheet" type="text/css">
<script language="javascript" src="../script/coolWindowsCalendar.js" type="text/javascript"></script>
<script language="JavaScript" src="../script/calendar.js" type="text/javascript"></script>
<script language="JavaScript" src="../script/selectdate.js" type="text/javascript"></script>
</head>
<body>
</body>
这样文本可以显示出来,但单击文本框时,不触发单击事件!
这是什么问题,请大家帮忙!
文本框有onclick事件吗?要不用onfocus行吗?
应该可以触发事件的,看看是不是事件触发了JS代码报错了,我看了你的代码,在HTML里text文本name="startTime"而在Struts里property="BeginDate",显然,Struts代码解析后,property属性就是name属性,两个文本框名字不一样,而在JS文件里应该是使用到了text的name="startTime"
所以我猜应该是报错了!
我在Eclipse的preview里好使!为什么发布以后,单击还是不好使!
我把name换成一样StartTime也还是不好使!
你可以把onclick="javascript:alert('onclick事件没问题!');";
看看onclick事件是否激发
onclick事件没有问题!
难道Structs的Action里还要做相应处理吗?
与那个没有关系
那再看看你的JS文件里的calendar()方法是否被调用,里边加上测试代码
慢慢调试吧,别急哥们,JS就是调试麻烦
onclick="javascript:alert('onclick事件没问题!');";
加进去好使!IE总是提示找不到对象!
我找原因了,应该路径的问题!
我把JS文件放到C盘,使绝对路径就能出来了!
C://calendar.js
但是这样话就定死了,为什么使用相对路径是不可以呢?
../script/calendar.js
大家有没有能够解决相对路径问题的方法!
struts和普通的jsp在路径方面是有区别的,因为struts下的地址一般没有你页面所在文件夹那层.
所以你可以./script/calendar.js, 这样代表,js文件在你的页面所在文件夹的上层目录下的script文件夹下的calendar.js ;
应该是这里的问题了
我一般用jstl
${pageContext.request.contextPath}这样我用相对webRoot的路径就可以了.../${contextPath}/script/calendar.js这样再也不会错了.....
问题已经解决用的是 eagleking012 的答案,小弟在这里谢啦!给分啦!