这几天在用webwork做一个项目。用到datepicker标签时,即为不爽。特别是在对input标签的控制时,无法控制text里的显示格式。看来得要修改修改datepicker标签了。
我对datepicker.ftl与text.ftl修改了下。
text.ftl如下
<input type="text"<#rt/>
name="${parameters.name?default("")?html}"<#rt/>
<#if parameters.get("size")?exists>
size="${parameters.get("size")?html}"<#rt/>
</#if>
<#if parameters.maxlength?exists>
maxlength="${parameters.maxlength?html}"<#rt/>
</#if>
<#if parameters.nameValue?exists>
<#if datepicker?exists>
value="<@ww.property value="parameters.nameValue"/>"<#rt/>
<#else>
value="<@ww.property value="parameters.nameValue"/>"<#rt/>
</#if>
</#if>
<#if parameters.disabled?default(false)>
disabled="disabled"<#rt/>
</#if>
<#if parameters.readonly?exists>
readonly="readonly"<#rt/>
<#elseif datepicker?exists>
readonly="readonly"<#rt/>
</#if>
<#if parameters.tabindex?exists>
tabindex="${parameters.tabindex?html}"<#rt/>
</#if>
<#if parameters.id?exists>
id="${parameters.id?html}"<#rt/>
</#if>
<#if parameters.cssClass?exists>
class="${parameters.cssClass?html}"<#rt/>
</#if>
<#if parameters.cssStyle?exists>
style="${parameters.cssStyle?html}"<#rt/>
</#if>
<#if parameters.title?exists>
title="${parameters.title?html}"<#rt/>
</#if>
<#include "/${parameters.templateDir}/simple/scripting-events.ftl" />
/>
datepicker.ftl如下
<#if !stack.findValue("#datepicker_js_included")?exists>
<#assign trash = stack.setValue("#datepicker_js_included", true)/>
<link rel="stylesheet" type="text/css" media="all" href="<@ww.url value="/platform/skins/js/jscalendar/" encode='false'/>skins/aqua/theme.css" title="Aqua" />
<script type="text/javascript" src="<@ww.url value="/platform/skins/js/jscalendar/" encode='false'/>calendar.js"></script>
<script type="text/javascript" src="<@ww.url value="/platform/skins/js/jscalendar/lang/" encode='false'/>calendar-en.js"></script>
<script type="text/javascript" src="<@ww.url value="/platform/skins/js/jscalendar/" encode='false'/>calendar-setup.js"></script>
</#if>
<#assign datepicker = "true"/>
<#include "/${parameters.templateDir}/simple/text.ftl" />
<#if !parameters.readonly?exists><a href="#" id="${parameters.id}_button"></#if><img src="<@ww.url value="/platform/skins/img/datetime.gif" encode='false'/>" width="20" height="16" border="0" alt="请选择日期"><#if !parameters.readonly?exists></a></#if>
<#if !parameters.readonly?exists>
<script type="text/javascript">
Calendar.setup({
inputField : "${parameters.id}",
<#if parameters.format?exists>
ifFormat : "${parameters.format}",
</#if>
<#if parameters.showstime?exists>
showsTime : "${parameters.showstime}",
</#if>
button : "${parameters.id}_button",
<#if parameters.singleclick?exists>
singleclick : ${parameters.singleclick},
</#if>
step : 1
});
</script>
</#if>
在调用时还是有些问题,看来得要再改改了。如果实在不行,就不用datepicker了。
我对datepicker.ftl与text.ftl修改了下。
text.ftl如下
<input type="text"<#rt/>
name="${parameters.name?default("")?html}"<#rt/>
<#if parameters.get("size")?exists>
size="${parameters.get("size")?html}"<#rt/>
</#if>
<#if parameters.maxlength?exists>
maxlength="${parameters.maxlength?html}"<#rt/>
</#if>
<#if parameters.nameValue?exists>
<#if datepicker?exists>
value="<@ww.property value="parameters.nameValue"/>"<#rt/>
<#else>
value="<@ww.property value="parameters.nameValue"/>"<#rt/>
</#if>
</#if>
<#if parameters.disabled?default(false)>
disabled="disabled"<#rt/>
</#if>
<#if parameters.readonly?exists>
readonly="readonly"<#rt/>
<#elseif datepicker?exists>
readonly="readonly"<#rt/>
</#if>
<#if parameters.tabindex?exists>
tabindex="${parameters.tabindex?html}"<#rt/>
</#if>
<#if parameters.id?exists>
id="${parameters.id?html}"<#rt/>
</#if>
<#if parameters.cssClass?exists>
class="${parameters.cssClass?html}"<#rt/>
</#if>
<#if parameters.cssStyle?exists>
style="${parameters.cssStyle?html}"<#rt/>
</#if>
<#if parameters.title?exists>
title="${parameters.title?html}"<#rt/>
</#if>
<#include "/${parameters.templateDir}/simple/scripting-events.ftl" />
/>
datepicker.ftl如下
<#if !stack.findValue("#datepicker_js_included")?exists>
<#assign trash = stack.setValue("#datepicker_js_included", true)/>
<link rel="stylesheet" type="text/css" media="all" href="<@ww.url value="/platform/skins/js/jscalendar/" encode='false'/>skins/aqua/theme.css" title="Aqua" />
<script type="text/javascript" src="<@ww.url value="/platform/skins/js/jscalendar/" encode='false'/>calendar.js"></script>
<script type="text/javascript" src="<@ww.url value="/platform/skins/js/jscalendar/lang/" encode='false'/>calendar-en.js"></script>
<script type="text/javascript" src="<@ww.url value="/platform/skins/js/jscalendar/" encode='false'/>calendar-setup.js"></script>
</#if>
<#assign datepicker = "true"/>
<#include "/${parameters.templateDir}/simple/text.ftl" />
<#if !parameters.readonly?exists><a href="#" id="${parameters.id}_button"></#if><img src="<@ww.url value="/platform/skins/img/datetime.gif" encode='false'/>" width="20" height="16" border="0" alt="请选择日期"><#if !parameters.readonly?exists></a></#if>
<#if !parameters.readonly?exists>
<script type="text/javascript">
Calendar.setup({
inputField : "${parameters.id}",
<#if parameters.format?exists>
ifFormat : "${parameters.format}",
</#if>
<#if parameters.showstime?exists>
showsTime : "${parameters.showstime}",
</#if>
button : "${parameters.id}_button",
<#if parameters.singleclick?exists>
singleclick : ${parameters.singleclick},
</#if>
step : 1
});
</script>
</#if>
在调用时还是有些问题,看来得要再改改了。如果实在不行,就不用datepicker了。