将一个互动的Flash 格式日历放在HTML或Flash 表单里.但不支持XML格式表单. 这个日历可以让用户自由选择日期作为变量提交.
<cfcalendar
name = "name of calendar"
dayNames = "days of the week labels"
disabled = "yes|no|no attribute value"
enabled = "yes|no"
endRange = "last disabled date"
height = "height"
mask = "character pattern"
monthNames = "month labels"
onBlur = "ActionScript to invoke"
onChange = "ActionScript to invoke"
onFocus = "ActionScript to invoke"
selectedDate = "date"
startRange = "first disabled date"
style="Flash ActionScript style"
tooltip = "text"
visible = "yes|no"
width = "width">
ColdFusion MX 7.01: 添加 onBlur 和 onFocus 事件.
ColdFusion MX 7: 添加该标签.
|
属性 |
必须/可选 |
默认 |
描述 |
|---|---|---|---|
|
name |
必须 |
|
日历名称. |
|
dayNames |
可选 |
S, M, T, W, Th, F, S |
将一周的每一天名称按照逗号为分隔的清单在日历上列出.周日是第一天其他准照日常顺序列出. |
|
disabled |
可选 |
Not disabled |
是否关闭用户输入,将其控制为只读.如果需要屏蔽输入功能,只须设为disabled="Yes" (或任何ColdFusion所表示的布尔值 , 例如 true). 需要允许输入的话,只需将disabled="No",或是(或任何ColdFusion所表示的布尔值 , 例如 false). |
|
enabled |
可选 |
yes |
只有在flash中可用:一个布尔值,用于控制是否有效.当设成 disabled 时,是浅灰色的 . 这是 disabled 相反的属性. |
|
endRange |
可选 |
|
日期的结束范围是被屏蔽的.使用者不可以选择和startRange属性相同的日期. |
|
firstDayOfWeek |
可选 |
0 |
指定一周内的第一天按照哪一天开始显示,范围为0-6,: 0 表示周日; 6表示周六 . |
|
height |
可选 |
由Flash决定 |
日历的高度,以 pixels为单位. |
|
mask |
可选 |
MM/DD/YYYY |
提交日期格式的参数. Mask 格式为:
有关mask的其他信息,请看 cfinput 参考页面中的 Masking input data. |
|
monthNames |
可选 |
January, February, March, April, May, June, July, August, September, October, November, December |
显示在日历中的月份名称,该清单用逗号分隔. |
|
onBlur |
可选 |
|
在日历失去焦点时运行ActionScript. |
|
onChange |
可选 |
|
当使用者选中日期时运行ActionScript. |
|
onFocus |
可选 |
|
当日历获取到焦点时运行ActionScript. |
|
selectedDate |
可选 |
None (Flash shows the current month) |
默认初始选中的日期. 他以其他区分表单的颜色高亮显示出来. 需要用 mm/dd/yyyy or dd/mm/yyyy 格式, 这个主要根据当前区域决定. (如果需要的话,可以使用setlocale标签设定.) |
|
startRange |
可选 |
|
日期的起始范围.使用者不可以选择和 endRange属性相同的日期. |
|
style |
可选 |
|
Flash ActionScript 样式应用于日历中. 更多信息请看 "Setting styles and skins in Flash forms" 在 ColdFusion Developer's Guide中. |
|
tooltip |
可选 |
|
Flash格式表单才有这个属性: 当鼠标移过时控制文本显示. |
|
visible |
可选 |
yes |
Flash格式表单才有这个属性: 用布尔值来控制是否显示. 默认下是一个被无形的空间占据的空白 |
|
width |
可选 |
由 Flash决定 |
以pixels为单位的日历水平宽度. |
cfcalendar标签用来显示一整个月的日期 ,显示月份,年份,一个月份的日期格子,并从每周的第一天开始排列. 日历控件包含向前月翻页和向后页分页的按钮让你选择需要显示的月份和年份.
如果你有设定selectedDate属性的值,该日期将在日历月份和年份初始显示时用绿色高亮显示出来.改变选择的月份和年份的显示并不会改变被选中的日期.使用者可以在日历上点击不同的日期改变被选中的日期. 当使用者选择一个日期时,用onChange属性利用 ActionScript 事件控制函数改变.
如果选择的日期在不同的月份和年份中,当前日期会反色高亮显示 (就像是一个黑色背景中的白色数字 ). 然而, 当前日期不会这样出现,除非你向前或向后翻动日历.
mask 属性让你指定选择日期的格式并返回程序中.
你可以使用键盘访问并从cfcalendar 选择控制:
该范例产生一个200*150的Flash haloBlue 皮肤的日历. 它将月份缩写显示并将一周七天的日期用2个字母表示. 它利用selectedDate属性来设定当日日期为初始选中的日期. 当你点击Save按钮, 表单提交返回到当前页面显示 .
范例中有三个 dateField 控制用于让使用者改变初始选中的日期并修改控制日期选择的区间范围.默认不允许选择的日期距离当前日期有4天间隔.
<!--- Set initial selected and blocked-out dates.--->
<cfparam name="Form.startdate" default="#dateformat(now()-5, 'mm/dd/yyyy')#">
<cfparam name="Form.enddate" default="#dateformat(now()-1, 'mm/dd/yyyy')#">
<cfparam name="Form.selectdate" default="#dateformat(now(), 'mm/dd/yyyy')#">
<!--- If the form has been submitted, display the selected date. --->
<cfif isDefined("Form.submitit")>
<cfoutput><b>You selected #Form.selectedDate#</b><br><br></cfoutput>
</cfif>
<b>Please select a date on the calendar and click Save.</b><br>
<br>
<cfform name="form1" format="Flash" skin="haloBlue" width="375" height="350" >
<cfcalendar name="selectedDate"
selectedDate="#Form.selectdate#"
startRange="#Form.startdate#"
endRange="#Form.enddate#"
mask="mmm dd, yyyy"
dayNames="SU,MO,TU,WE,TH,FR,SA"
monthNames="JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC"
style="rollOverColor:##FF0000"
width="200" height="150">
<cfinput type="dateField" name="startdate" label="Block out starts"
width="100" value="#Form.startdate#">
<cfinput type="dateField" name="enddate" label="Block out ends" width="100"
value="#Form.enddate#">
<cfinput type="dateField" name="selectdate" label="Initial date" width="100"
value="#Form.selectdate#" >
<cfinput type="Submit" name="submitit" value="Save" width="100">
</cfform>