正如本question所述,我试图更改Liferays输入日期字段的日期格式。到目前为止成功了。 然而,我在不同的浏览器中测试它,并注意到当我单击该字段时Firefox会混淆日期。在IE或Chrome中没有问题。
它最初会显示当前日期,例如 18.08.2017 。但是当我点击该字段(当前没有更改日期)时,它会显示 d.08.2017 。 起初我认为由于我的格式改变而搞砸了。但撤消后这些错误仍然存在......
然而,值本身正常工作,我的java方法没有得到任何错误。我可以更改选择器中的日期,隐藏的字段将具有正确的值。只有日期的可见部分搞砸了。
我看着控制台看到,Liferay.Form未定义。我不知道它是否相关。 IE和Chrome也显示错误,但也正常显示日期。
Chrome: Uncaught TypeError: Cannot read property 'get' of undefined
IE: unable to get property "get" of undefined or null reference
FF: TypeError: Liferay.Form is undefined
我怎样才能摆脱这个错误?
修改
这是我用于datepicker的代码:
Calendar calendar = Calendar.getInstance();
if(renderRequest.getAttribute("task") != null){
String dateFrom = (String)renderRequest.getAttribute("DATE_FROM");
SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy");
Date date = format.parse(dateFrom);
calendar.setTime(date);
}else{
calendar.add(Calendar.DAY_OF_MONTH, (GetterUtil.getInteger(portletPreferences.getValue("dateRange", "7"))*-1));
}%>
<liferay-ui:input-date firstDayOfWeek="1"
yearValue="<%=calendar.get(calendar.YEAR)%>"
monthValue="<%=calendar.get(calendar.MONTH)%>"
dayValue="<%=calendar.get(calendar.DAY_OF_MONTH)%>" dayParam="dateFrom-day"
monthParam="dateFrom-month" yearParam="dateFrom-year" />
我没有任何js代码,因为我没有写过任何代码。