从dojo小部件刷新视图面板
从@MichaelSaiz获得了这段代码,并对其进行了轻微修改,日历小部件与Domino服务器上dojo 1.5.x附带的calendar.css配合使用时看起来/工作得非常好 但是,当用户单击日期时,我需要刷新日历视图,虽然字段刷新正常,但视图的行为异常,我不明白为什么 XSP.addOnLoad(函数(){从dojo小部件刷新视图面板,dojo,calendar,xpages,Dojo,Calendar,Xpages,从@MichaelSaiz获得了这段代码,并对其进行了轻微修改,日历小部件与Domino服务器上dojo 1.5.x附带的calendar.css配合使用时看起来/工作得非常好 但是,当用户单击日期时,我需要刷新日历视图,虽然字段刷新正常,但视图的行为异常,我不明白为什么 XSP.addOnLoad(函数(){ dojo.require(“dojox.widget.Calendar”); require(“dojo.date”、“dijit.registry”); require(“dojo.d
dojo.require(“dojox.widget.Calendar”);
require(“dojo.date”、“dijit.registry”);
require(“dojo.date.locale”);
dojo.require(“dijit.Calendar”);
就绪(函数(){
//创建日历:
var selectedDate=null;
var calendar\u body=new dojox.widget.calendar({
值:新日期(),
onValueSelected:函数(日期){calendarDateClicked(日期);
}
}“日历机构”);
//创建单击操作
函数calendarDateClicked(日期){
var d=新日期(日期);
变量月份=“”+(d.getMonth()+1);
var day=''+d.getDate();
var year=d.getFullYear();
如果(月长<2)月='0'+月;
如果(日长<2)天='0'+天;
var dateString=[日、月、年].join(“/”);
var y=dojo.date.locale.format(d,{datePattern:“dd/MM/yyyy”,选择器:'date'});
//dojo.byId('#{id:hiddenCalWidgetSelectedDate}')。value=dateString
byId('#{id:hiddenCalWidgetSelectedDate}')。value=y;
byId('#{id:calDate}')。value=y;
//byId('#{id:calDate}')。value=dateString;
XSP.partialRefreshGet(“#{id:dayPanel1},{});//将值发布到服务器
}
});
});
当用户单击日历并更新字段(calDate),然后更新viewPanel(dayPanel1)时,将触发此操作
该视图根据calDate字段进行过滤,单击日历设置该字段
当用户点击日历时,我如何刷新视图?看起来很基本,但我快发疯了
格雷姆日期格式不正确(正如@MichaelSaiz猜测的那样)。现在把它整理好了 XSP.addOnLoad(函数(){
dojo.require(“dojox.widget.Calendar”);
require(“dojo.date”、“dijit.registry”);
require(“dojo.date.locale”);
dojo.require(“dijit.Calendar”);
就绪(函数(){
//创建日历:
var selectedDate=null;
var calendar\u body=new dojox.widget.calendar({
值:新日期(),
onValueSelected:函数(日期){calendarDateClicked(日期);
}
}“日历机构”);
//以正确的格式设置月份
功能设置月(月){
开关(月)
{
案例1:
月份=“一月”;
打破
案例2:
月份=“二月”;
打破
}
返回月份;
}
//创建单击操作
函数calendarDateClicked(日期){
var d=新日期(日期);
变量月=(d.getMonth()+1);
月=设定月(月);
var day=''+d.getDate()+“,”;
var year=d.getFullYear();
//如果(月长<2)月='0'+月;
如果(日长<2)天='0'+天;
var dateString=[月、日、年].join(“”);
//var y=dojo.date.locale.format(d,{datePattern:“dd/MM/yyyy”,选择器:'date'});
dojo.byId('#{id:hiddenCalWidgetSelectedDate}')。value=dateString
//byId('#{id:hiddenCalWidgetSelectedDate}')。value=y;
//byId('#{id:calDate}')。value=y;
byId('#{id:calDate}')。value=dateString;
XSP.partialRefreshPost(“#{id:mainPanel}”,{})//将值发布到服务器
}
});
});
视图似乎找不到过滤器的入口。Maby double check the Filter value.Hi@MichaelSaiz,我应该说我的测试之一是在视图上方添加日期/时间字段,然后使用该字段而不是日历更改日期。使用该方法工作正常-仍然设置sessionScope变量,然后在viewPanel上进行部分刷新。奇怪,更新了密码…有什么想法吗?
dojo.require("dojox.widget.Calendar");
dojo.require("dojo.date","dijit.registry");
dojo.require("dojo.date.locale");
dojo.require("dijit.Calendar");
dojo.ready(function(){
// create the Calendar:
var selectedDate = null;
var calendar_body = new dojox.widget.Calendar({
value: new Date(),
onValueSelected: function(date){calendarDateClicked(date);
}
}, "calendar_body");
//create Click action
function calendarDateClicked(date){
var d = new Date(date);
var month = '' + (d.getMonth() + 1);
var day = '' + d.getDate();
var year = d.getFullYear();
if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;
var dateString = [day,month,year].join("/");
var y = dojo.date.locale.format(d, {datePattern:"dd/MM/yyyy", selector: 'date'});
//dojo.byId('#{id:hiddenCalWidgetSelectedDate}').value = dateString
dojo.byId('#{id:hiddenCalWidgetSelectedDate}').value = y;
dojo.byId('#{id:calDate}').value = y;
//dojo.byId('#{id:calDate}').value = dateString;
XSP.partialRefreshGet("#{id:dayPanel1}",{});//Post Value to server
}
});
});
dojo.require("dojox.widget.Calendar");
dojo.require("dojo.date","dijit.registry");
dojo.require("dojo.date.locale");
dojo.require("dijit.Calendar");
dojo.ready(function(){
// create the Calendar:
var selectedDate = null;
var calendar_body = new dojox.widget.Calendar({
value: new Date(),
onValueSelected: function(date){calendarDateClicked(date);
}
}, "calendar_body");
//Set month in correct format
function setMonth(month){
switch(month)
{
case 1:
month = "Jan";
break;
case 2:
month = "Feb";
break;
}
return month;
}
//create Click action
function calendarDateClicked(date){
var d = new Date(date);
var month = (d.getMonth() + 1);
month = setMonth(month);
var day = '' + d.getDate() + ",";
var year = d.getFullYear();
//if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;
var dateString = [month,day,year].join(" ");
//var y = dojo.date.locale.format(d, {datePattern:"dd/MM/yyyy", selector: 'date'});
dojo.byId('#{id:hiddenCalWidgetSelectedDate}').value = dateString
//dojo.byId('#{id:hiddenCalWidgetSelectedDate}').value = y;
//dojo.byId('#{id:calDate}').value = y;
dojo.byId('#{id:calDate}').value = dateString;
XSP.partialRefreshPost("#{id:mainPanel}",{});//Post Value to server
}
});
});