50分求一个JavaScript函数,急!!!!

france5516 2004-09-04 04:51:08
现有一个根据时间从数据库中取信息的功能需要实现,时间是从一个用JavaScript写好的日历控件中获取,以下是asp中的代码:
// 引用setday.js日历控件
<script language=javascript src="setday.js"></script>
------
//给data1赋值
If Request.Form("date1") = "" Then
date1 = CDate("2004-1-1")
Else
date1 = cdate(Request.Form("date1"))
----
//表单引用
<td width="100" align="center"><span class="p4">请选择时间:</span></td>
<td width="108"><input name="date1" type="text" id="date1" value="<%=date1%>" size="12" onFocus="setday(this)" readonly></td>
----
要达到的效果是,单击表单,就弹出日历,选好后的值赋给data1,在另一个页面中可以获得data1,并根据该值从数据库中取值。请问我在jsp中该如何实现以上功能呀?
由于本人接触jsp才两个月,JavaScript还没有入门,但项目还有两天就要了,所以请各位赐教!如果需要查看控件代码可以留下邮箱。
...全文
175 点赞 收藏 20
写回复
20 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
france5516 2004-09-05
都一天了,还是没有解决
我用下面的语句,
<td width="108"><input name="date1" type="text" id="date1" value="<%=date1%>" size="12" onFocus="setday(this)" readonly></td>
运行后我单击表单,出现错误提示:The undefined value has no properties:at 149
当我把onFocus="setday(this)中的this去掉后,提示是没有传如任何参数,请问this指的是
哪个参数,我该怎样怎样处理后,才能使它有属性呢?
回复
lbhwwj 2004-09-04
忘了告诉你,我用的是别人公司的API。知道原理就行了
DateTime.getSystemDate();得到系统的当前时间,没有太的的关系了
回复
france5516 2004-09-04
还有,以前的别人给我的一个asp例子里,
//给data1赋值
If Request.Form("date1") = "" Then
date1 = CDate("2004-1-1")
Else
date1 = cdate(Request.Form("date1"))
请问你知道怎么解释吗?
回复
france5516 2004-09-04
lbhwwj(小凌) :
我的date1就是因为不知道怎么赋值,所以运行时老是提示:The undefined value has no properties:at 149
而用你给我的js控件照你方法直接onfous=calendar.js,单击对话框时没有反映,不知道为什么,我看了你的代码,好象没有别的不同,就有了一个String startTime1 =DateTime.getSystemDate();不知道DateTime是你写的类还是另外的组件,而DateTime.getSystemDate();的到又是什么值,我想这些搞明白了后,我干脆就用你给我的那个js算了,以后再向你请教JavaScript编程方法---
回复
france5516 2004-09-04
还在看,请问
String startTime1 =DateTime.getSystemDate();是怎么来的?
这就是你的赋值语句了?
回复
lbhwwj 2004-09-04
好的,你的问题解决了吗
回复
france5516 2004-09-04
好的,非常感谢!!!
我的邮箱就是我的msn,不知你平时用不用,用的话请你加我
共同进步!
回复
lbhwwj 2004-09-04
我给你发了一个例子,有什么问题,在问
我会给你解答得,大家共同进步吗,也没有什么好保留得
回复
france5516 2004-09-04
看到了,效果和setday.js是一样的,可是同样面临对话框弹出和取值问题,能给我一些你用过该日历的jsp例子吗,我只有模仿了,时间太紧!
回复
lbhwwj 2004-09-04
我把时间控件给你发过去了
回复
france5516 2004-09-04
先双击表单,弹出日历对话框,再选择一个值,该值就传给<%=data1%>,提交后,另一个页面通过String data1 = request.getParameter("date1");得到该值,再就好办了---
现在是如何弹出对话框,又如何把值传给<%=data1%>
回复
lbhwwj 2004-09-04
肯定会报错呀,因为在你的提交页面里<%=data1%>,就会报错,未定义之类的。要想通过js把jsp里的参数传递给表单里面的元素,不好弄,在一个页面比较好弄。要不不需要通过时间控件,在jsp页面里,用一个隐含域什么的,初始化未data1的值,然后在提交页面里取值,不过还是比较麻烦,
我建议你还是在一个页面实现比较简单
我个人的意见
回复
france5516 2004-09-04
lbhwwj(小凌):最好是给一个jsp使用该倥件的例子:
回复
france5516 2004-09-04
lbhwwj(小凌) :
你好,我在线等,有好的时间控件的话就请你发一个给我,但还有劳你告诉怎样使用
谢谢了,邮箱是:france5516@126.com
回复
france5516 2004-09-04
当我把我贴出的代码贴在jsp代码中,运行时错误提示为:The undefined value has no properties:at 149,也就是没有定义和没有进行赋值给date1。
我的问题关键是怎样通过onFocus="setday(this)" 把值传给date1,我的处理代码该怎样写????
回复
lbhwwj 2004-09-04
不知道楼主,你是否在线,如果你有邮箱的话,我可以给你发一个比较好的时间控件
回复
lbhwwj 2004-09-04
假设你日历控件里面显示日历的函数为setday()那么,你可以这样实现。还有一个问题你到底是asp还是jsp,现在我用jsp给你实现你的功能。将两个页面合成一个页面
// 引用setday.js日历控件
<script language=javascript src="setday.js"></script>
------
//接收页面(与提交表单页面在同一个页面)
<%
//data1赋值
String data1 = request.getParameter("date1");
---------
%>

//表单提交
<td width="100" align="center"><span class="p4">请选择时间:</span></td>
<td width="108">

<% if(data1==null) { %>
<input name="date1" type="text" id="date1" value="2004-01-01" size="12" onClick="setday()" readonly></td>

<% } else { %>
<input name="date1" type="text" id="date1" value="<%=date1%>" size="12" onClick="setday()" readonly></td>

<% } %>


----
回复
france5516 2004-09-04
Neverblue(与狼共伍) :谢谢你热心指点,不过经理给了我那个控件,我肯定要达到他的目的,所以我的目的就是怎样写一个JavaScript函数,或者采用别的方法实现那个功能,还请继续赐教!
回复
Neverblue 2004-09-04
还有你要的ShowCalenda(document.form1.dimg1,document.form1.date,null,0,330),太长了,你要的话,和我联系!
回复
Neverblue 2004-09-04
<form action="*.jsp" method="post" name="form1" >
<td align=left bgcolor=#EFF3FF height="1" width="133">
<input name="date" type="text" id="date" style="width: 90; height: 20" size="20" readonly="">
<a href="javascript:ShowCalenda(document.form1.dimg1,document.form1.date,null,0,330)" onClick=event.cancelBubble=true;><img align=absMiddle readonly border=0 height=23 id=dimg1 src="../images/button.gif" alt="快速输入日期" width=34></a>
</td>

<IFRAME frameBorder=0 id=CalFrame marginHeight=0 marginWidth=0 noResize
scrolling=no src="calendar.htm"
style="DISPLAY: none; HEIGHT: 194px; POSITION: absolute; WIDTH: 148px; Z-INDEX: 100; left: 643px; top: 61px;">
</IFRAME>

如果你要calendar.htm代码的话,可以发邮件给wy82@21cn.com

回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-04 04:51
社区公告
暂无公告