请教dhtmlxscheduler 中文 问题

你好,欢迎回来!
请教一个dhtmlxScheduler页面刷新的问题
页面第一次加载的时候用的ajax向后台读取数据形成XML后,数据库里更新了但是页面无论怎么刷新都是第一次加载的数据,无论我是直接改数据库还是对event更新事件更新都是这样读取不了最新数据!&我后来调试的时候到scheduler.load()这个方法里看了一下,从后台传过了的XML文件被解析的时候一直是第一次加载的数据,但是我打开XML看到的确实更新后的数据!求帮帮忙
//update事件
art.dialog.open('Details.aspx?eventID=' + id + '&sDate=' + CurentTime(scheduler.getEventStartDate(id)) + '&eDate=' + CurentTime(scheduler.getEventEndDate(id)), {
width: 797,
height: 400,
lock: true,
background: '#eeeeee', // 背景色
opacity: 0.5, // 透明度
title: stime + ' - ' + etime + ' ' + Title,
yesFn: function() {
var o = scheduler.getEvent(id);
var iframe = this.iframe.contentW
iframe.$('butsav').click();
var f = iframe.
o.text = f.getElementById(&txtDetails&).
o.content = f.getElementById(&txtDetails&).
o.start_date = f.getElementById(&txteventDate_s&).value + & & + f.getElementById(&droeventTime_s&).options[f.getElementById(&droeventTime_s&).selectedIndex].value + &:00&;
o.end_date = f.getElementById(&txteventDate_e&).value + & & + f.getElementById(&droeventTime_e&).options[f.getElementById(&droeventTime_e&).selectedIndex].value + &:00&;
o.start_date = new Date(o.start_date.replace(/-/, &/&))
o.end_date = new Date(o.end_date.replace(/-/, &/&))
o._timed = scheduler.is_one_day_event(o);
o.startTime = f.getElementById(&droeventTime_s&).options[f.getElementById(&droeventTime_s&).selectedIndex].
o.endTime = f.getElementById(&droeventTime_e&).options[f.getElementById(&droeventTime_e&).selectedIndex].
CelendarBoxCloseing(id, o); //更新界面event
yesText: '保存',
noFn: true,
noText: '关闭'
function CelendarBoxCloseing(id, data) {
scheduler.setEvent(id, data);
scheduler.event_updated(data); //更新显示的对象
scheduler.callEvent(&onAfterLightbox&, [])//调用为onAfterLightbox的动作
//init事件$.ajax(
type: &POST&,
url: &init.aspx?r=& + Math.random(), //后台
data: '', //参数
function(data) {
scheduler.load(data); //读取成功时,用后台传来的xml文件地址,让dhtmlxScheduler加载
function() {
alert('无法连接服务器');
你的用法有问题。
其中一个,控件时间格式有它自己的规则。
这是我以前的,你自己对比下就发觉什么不同。
var f=$(&#boxForm&);
o.text=$(&#title&,f).attr(&value&);
o.content=$(&#content&,f).attr(&value&);
o.startTime=$(&#startTime&,f).attr(&value&);
o.endTime=$(&#endTime&,f).attr(&value&);
if(Permission.Edit)
o.superior=$(&#superior&,f).attr(&value&);
o.views=$(&#views&,f).attr(&value&);
o._timed = scheduler.is_one_day_event(o);//这里忘了什么意思,看看源码吧。
o.start_date=scheduler.templates.api_date(o.startTime);//将的日期格式转换为dhtmlxScheduler内置的日期格式,忘记了是什么
o.end_date=scheduler.templates.api_date(o.endTime);//将的日期格式转换为dhtmlxScheduler内置的日期格式,忘记了是什么
scheduler._edit_stop_event(o, true);//将dhtmlxScheduler的状态edit mode关闭,提交,触发相应动作(或者大家看看源码,好理解点)
终于有人回答了
我觉得这个时间不是主要问题吧
var f = iframe.
o.text = f.getElementById(&txtDetails&).
o.content = f.getElementById(&txtDetails&).
o.start_date = f.getElementById(&txteventDate_s&).value + & & + f.getElementById(&droeventTime_s&).options[f.getElementById(&droeventTime_s&).selectedIndex].value + &:00&;
o.end_date = f.getElementById(&txteventDate_e&).value + & & + f.getElementById(&droeventTime_e&).options[f.getElementById(&droeventTime_e&).selectedIndex].value + &:00&;
o.start_date = new Date(o.start_date.replace(/-/, &/&))
o.end_date = new Date(o.end_date.replace(/-/, &/&))
o._timed = scheduler.is_one_day_event(o);
o.startTime = f.getElementById(&droeventTime_s&).options[f.getElementById(&droeventTime_s&).selectedIndex].
o.endTime = f.getElementById(&droeventTime_e&).options[f.getElementById(&droeventTime_e&).selectedIndex].
CelendarBoxCloseing(id, o); //更新界面event
&我不需要用这段代码也可以更新, 但是问题是数据库里已经是更新的数据了& 这里为什么要用是因为我看了你的代码后加上的&&加上的这段代码
也就是界面更新一下event(并不是读取数据库的最新数据后形成的XML里的数据),但刷新后还是变成了页面第一次打开后的数据!
init 事件里读取的XML文件里的数据也是数据库里最新数据
但不知道为什么当执行到scheduler.load()这个方法里后,读取出来的还是第一次打开页面的数据!
帮帮忙! (PS:难道是因为我用了asp.net的原因?)
再说明一下&我用的不是内置的窗口提交表单的
是自己弄的弹出窗口和表单
如果你的时间的对象都不是插件支持的对象,它怎么能更新相应的东西呢?
还有,你没发现你的代码对比上面的少了什么代码吗?
我输出了下时间 我那样转的就是那种时间类型
界面上是可以更新的!
scheduler._edit_stop_event(o, true);
&少了这句 但我加上这句也不行!
另外就是没把时间按照你代码里的方法转成对应格式!
scheduler.templates.api_date
而且我用这个方法的时候报错!要不然我也不会换种方法来转类型!
那就不知道是不是版本问题了,因为当时的代码是两年前吧。
我晕那这是怎么回事啊!
有人能解决一下吗? 项目做到一半没法进行下去了!
估计你得自己看下你手头上版本的源码,看看有什么遗漏,按照它的方式来写。
成功了没有。?我也是这个问题
这样就好了scheduler.load(&URL?rm=&+Math.random());后面加个随机数让每次刷新的请求不同就能解决了。
就是这个问题?
回复:请教一个dhtmlxScheduler页面刷新的问题
Navigation
正在提交...请教一个dhtmlxScheduler页面刷新的问题_百度知道
请教一个dhtmlxScheduler页面刷新的问题
我有更好的答案
估计你的用法有问题。 其中一个,控件时间格式有它自己的规则。 这是我以前的,你自己对比下就发觉什么不同。
var f=$(&#boxForm&);
o.text=$(&#title&,f).attr(&value&);
o.content=$(&#content&,f).attr(&value&);
o.startTime=$(&#startTime&,f).attr(&value&);
o.endTime=$(&#endTime&,f).attr(&value&);
if(Permission.Edit)
o.superior=$(&#superior&,f).attr(&value&);
o.views=$(&#views&,f).attr(&value&);
o._timed = scheduler.is_one_day_event(o);//这里忘了什么意思,看看源码吧。
o.start_date=scheduler.templates.api_date(o.startTime)...
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁&求助& &sap登录问题,请教各位!!!!!!_百度知道
&求助& &sap登录问题,请教各位!!!!!!
: logon balancing error 88: error,前一段时间同事用SAP时还好好的!各位GGJJDDMM!, 错误描述是!,小弟刚进一家家公司?!?you!!,thanks !!,前天她 说登录不了,第一次接触SAP ,提示如下错误!:service &#39!;sapmsPR2 unknown 请各们帮忙解答: could not connect to message server (rc=9) do you want to see detailed error information Yes or No 我选Yes 后
windows&#92:&#92。再就是看看c网络有问题,这个可以参照其他人的系统维护;system32\drivers\services里有没有sapmsPR2的条目;etc&#92,或者服务器挂了
其他类似问题
为您推荐:
sap的相关知识
其他3条回答
找公司网管,一般都是服务器自己不行了..
服务器连接出问题了吧-。-
楼主还是上sappub看看,那是一个专业的sap公益平台,里面有很多sap的高手!希望对你有帮助!百度搜一下就找到了!
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁你好,欢迎回来!
请教dhtmlxscheduler 问题
var _CelendarB//该处为,弹出窗口的HTML源码,我该处是通过AJAX预先载入HTML文件。function CelendarBox(id){&loadXMLDoc();&//alert(Box_Html);&&& if (!id) {&&&&&&&&&& }&&& if (!scheduler.callEvent(&onBeforeLightbox&, [id])) {&&&&&&&&&& }&&& var o=scheduler.getEvent(id);&&& var h=240;&&& o.superior=o.superior?Trim(o.superior):&&;&&& o.views=o.views?Trim(o.views):&&;&&& o.content=o.content?Trim(o.content):&&;&&& var tmp=Box_Html.replace(/{text}/g,o.text);//替换窗口HTML代码的{title}&&& tmp=tmp.replace(/{content}/g,o.content);//替换窗口HTML代码的{content}
这段里面的Box_Html是怎么定义的,是不是通过ajax加载自己定义的html文件返回的?还有Box_Html.replace(/{text}/g,o.text)这个是不是就是在日程页面上选择已有日程的时候,替换掉自定义html文件里的东西,这种replace /{}/g 方法没用过,,,希望帮忙解释下。万分感激。
我自己定义的box.html如下:
&meta http-equiv=&Content-Type& content=&text/ charset=utf-8& /&&form id=&boxForm&&&&table&&&input type=&hidden& id=&superior& name=&superior&/&&&input type=&hidden& id=&views& name=&views&/&&&&tr&&&&&td&标题&/td&&&&&td&&&&&&input type=&text& id=&title& name=&title&/&&&&&/td&&&&/tr&&&&tr&&&&&td&内容&/td&&&&&td&&&&&&textarea rows=&5& cols=&30& id=&content& name=&content&&&/textarea&&&&&/td&&&&/tr&&&&tr&&&&&td&开始时间&/td&&&&&td&&&&&&input type=&text& id=&startTime& name=&startTime&/&&&&&/td&&&&/tr&&&&tr&&&&&td&结束时间&/td&&&&&td&&&&&&input type=&text& id=&endTime& name=&endTime&/&&&&&/td&&&&/tr&&&/table&&/form&
Box_Html就是自己你理解那样.
&input type=&text& value=&{title}&&
例如将上面的html replace(/{title}/g,&标题&)就变成:&input type=&text& value=&标题&&
就是普通的替换而已...
function loadXMLDoc(){xmlhttp=if (window.XMLHttpRequest)& {// code for Firefox, Opera, IE7, etc.& xmlhttp=new XMLHttpRequest();& }else if (window.ActiveXObject)& {// code for IE6, IE5& xmlhttp=new ActiveXObject(&Microsoft.XMLHTTP&);& }if (xmlhttp!=null)& {& xmlhttp.onreadystatechange=state_C& xmlhttp.open(&GET&,&Box.html&,true);& xmlhttp.send(null);& }else& {& alert(&Your browser does not support XMLHTTP.&);& }}
function state_Change(){if (xmlhttp.readyState==4)& {// 4 = &loaded&& if (xmlhttp.status==200)&&& {// 200 = &OK&&&&&& Box_Html=xmlhttp.responseT&&& }& else&&& {&&& alert(&Problem retrieving data:& + xmlhttp.statusText);&&& }& }}
我通过ajax加载我定义的那个box.html,然后返回的是个文本 ,定义给Box_Html ,但是在修改的时候也就是replace的时候,就不行了,自定义的html替换不了dhtmlschedule后台的数据。
可以替换了。另外请教下如果我想增加一些字段的话是不是dhtmlxscheduler.js里面也要增加,加在哪里?
下拉菜单也是text,对于html没什么不同。
&select&{dropdown}&/select&
还是一样replace,只不过replace为你想表现的菜单项。
至于源码,都是已经在博客贴上。。
还有个问题就是我新增完一个日程后,页面上和后台数据都有了,但是我F5刷新日程表就看不到刚刚新加的那个事件了,我新增完调用那个CelendarBoxCloseing方法了,页面上会更新,但是F5一刷就没了,还要重新打开一个页面,也就是再执行index页面的scheduler.load(&event.do?method=findAllEvent&) &查询事件方法。我的新增方法,&url += &event.do?method=addOrUpdateEvent&eventId=& + id + &&startDate=&+startDate+&&endDate=&+endDate+&&&& &&text=&+text+&&details=&+&&& $.ajax({&&& type: &POST&,&&& url:& url,&&& success: function(msg){&&&&&& CelendarBoxCloseing(id,data);//成功以后,更新页面上的信息&&&&&& alert( &Data Saved: & + msg );&&&&&& }&});
另外,日页面和周页面弹出的窗口还是原来的窗口 不是我自定义的那个box页面,只有月计划页面是自定义的那个弹窗,,应该都是showlightbox方法把。很奇怪呀。
不是太懂你说啥意思..
如果你成功添加日程之后,F5刷新看不见那日程,那不关我们这对话框的事,因为没调用.
//设置日程窗口函数为我自定义的函数&scheduler.showLightbox&=&CelendarB
这样就会替换,使用新的对话框函数的哦.
你添加了日程之后,可以看到日程吗?(不需要刷新)
scheduler.showLightbox = CelendarB这个我定义过,但是只有在月计划视图下添加才弹出自定义的CelendarBox,在周计划视图和日计划视图,点击还是弹出这个日程控件原来的那个黄色的添加框。。。
F5刷新就是刚新增那个计划会不见,重新打开一个页面把CalendarInit()再执行一次才能再看到。
scheduler.attachEvent(&onClick&,function(id){&&&&CelendarBox(id);});
绑定动作....
这里呢??估计你漏了这里..
OnClick事件我绑定了,这个是我用的你当初那个初始函数,就改了其中少部分,权限那些我先去掉没用,应该不会是那些影响把。
现在是月视图里增加,修改都是自定义的那个视图;在周视图和日视图上点击已有事件修改,因为绑定了OnClick事件弹出的是自定义的box,可是新增的时候需要“双击”,这时候还是弹控件自己那个窗口,可是月视图上双击弹出的又是自定义的窗口,是不是哪里还要初始什么东西。
function CalendarInit() {&&&& scheduler.config.first_hour=8;&&&& scheduler.config.api_date=&%Y-%m-%d %H:%i&;&&&& scheduler.config.xml_date=&%Y-%m-%d %H:%i&;&&&& scheduler.config.hour_date=&%H:%i&;&&&& scheduler.config.default_date=&%Y年%m月%d日&;&&&& scheduler.config.month_date=&%Y年 %m月&;&&&& scheduler.config.day_date=&%m月%d日&;&&&& scheduler.config.start_on_monday=&&&&&&& scheduler.showLightbox = CelendarB&&&& //scheduler.attachEvent(&onBeforeEventDelete&,Del);&&&& scheduler.attachEvent(&onClick&,function(id){&&&&&alert(&onclick---&+id);&&&&&&&&&&&&&&&& CelendarBox(id);&&&& });&&&& &&&& scheduler.attachEvent(&onBeforeEventDelete&,function(event_id){&&&& &alert(event_id);&&&& &Del(event_id);&&&& });&&&& scheduler.attachEvent(&onEventChanged&, function(event_id,event_object){&&&&&&&&& alert(&onEventChanged:----------- &+event_id);&&&&&&&&& Edit(event_id,event_object);&&&&& });&&&& scheduler.attachEvent(&onEventAdded&, function(event_id,event_object){&&&&&&&&& alert(&onEventAdded:---------- &+event_id);&&&&&&&&& Add(event_id,event_object,function(old_id,new_id){&&&&&&&&&&&&& scheduler.changeEventId(old_id, new_id);&&&&&&&&& });&&&& });&&&& scheduler.locale={&&&&&&&& date:{&&&&&&&&&&&& month_full:[&一月&, &二月&, &三月&, &四月&, &五月&, &六月&, &七月&, &八月&, &九月&, &十月&, &十一月&, &十二月&],&&&&&&&&&&&& month_short:[&一&, &二&, &三&, &四&, &五&, &六&, &七&, &八&, &九&, &十&, &十一&, &十二&],&&&&&&&&&&&& day_full:[&星期日&, &星期一&, &星期二&, &星期三&, &星期四&, &星期五&, &星期六&],&&&&&&&&&&&& day_short:[&日&, &一&, &二&, &三&, &四&, &五&, &六&]&&&&&&&& },&&&&&&&& labels:{&&&&&&&&&&&& dhx_cal_today_button:&今天&,&&&&&&&&&&&& day_tab:&日&,&&&&&&&&&&&& week_tab:&周&,&&&&&&&&&&&& month_tab:&月&,&&&&&&&&&&&& new_event:&新工作计划&,&&&&&&&&&&&& icon_save:&保存&,&&&&&&&&&&&& icon_cancel:&取消&,&&&&&&&&&&&& icon_details:&详细&,&&&&&&&&&&&& icon_edit:&编辑&,&&&&&&&&&&&& icon_delete:&删除&,&&&&&&&&&&&& confirm_closing:&&, //Your changes will be lost, are your sure?&&&&&&&&&&&& confirm_deleting:&请确认你是否需要删除该工作计划?&,&&&&&&&&&&&& section_content:&内容&,&&&&&&&&&&&& section_views:&上级意见&,&&&&&&&&&&&& section_time:&时间&&&&&&&&& }&&&& };&&&& scheduler.config.lightbox.sections=[&&&&&{ name:&description&, height:50, map_to:&text&, type:&textarea&, focus:true },&&&&{ name:&test1&, height:43, type:&textarea&, map_to:&test1& },&&&&{ name:&test2&, height:43, type:&textarea&, map_to:&test2& },&&&&{ name:&time&, height:72, type:&time&, map_to:&auto&}&&&&];&&&& scheduler.init('scheduler_here',null,&week&);&&&&&&&& scheduler.load(&event.do?method=findAllEvent&);&}
代码应该没错..
只有月视图,才能双击弹出box.
其他方式视图,只会新增加条目哦,不会打开box的.
那在其他视图新增的时候不能用自定义的视图了吗?这样的话相当于周视图和日视图的新增不能用了把,有没什么办法让周和日视图里也可以新增的时候弹出自定义的box啊,,,路路版主要帮忙呀。
scheduler.attachEvent(&onEventAdded&, function(event_id,event_object){
Add(event_id,event_object,function(old_id,new_id){
scheduler.changeEventId(old_id, new_id);
});//Add实际增加对象函数
onEventAdded 这个函数不是在保存的时候才执行的吗?那个周视图和日视图的新增事件要弹出自定义的窗口跟这个好像没关系啊,我上面也绑定过这个事件了。
问题是你在月和日视图双击.是不会调用对话框的...
所以,要不,你点击保存时候,再弹出对话框.
周视图和日视图的双击有没有什么事件的,如果每次要先弹出原来的框然后再OnClick才有自定义的窗口。项目里这样怕是不行呀。。。会不会日视图和周视图的showlightbox跟月视图的不一样啊,我想日视图和周视图的弹窗也不应该无缘无故的弹把,只是不知道这两个绑定在哪里了。
没有双击事件,双击事件,就是新建一个日程,但并不弹出窗口.
或许你看看源码吧.
找到双击函数了,scheduler._on_dbl_click 所有视图的都要这个调用,我用自定义的calendarbox指定给这个函数,貌似不行,还没来的及研究。。。
不能直接这样.
你要重写_on_dbl_click的代码,在switch那段判断不同视图,从而弹出窗口.
我研究一下先。。。不懂了再请教版主。。
加上这两句scheduler.config.details_on_create=scheduler.config.details_on_dblclick=这样全部视图的弹窗就一样了。。。虽然我也不知道什么意思,代码里看来的
回复:请教dhtmlxscheduler 问题
Navigation
正在提交...换一换猜你喜欢
感谢您对问说网的支持,提出您在使用过程中遇到的问题或宝贵建议,您的反馈对我们产品的完善有很大帮助。}

我要回帖

更多关于 ampamp nbsp 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信