Adobe ColdFusion 8

cfcalendar

描述

将一个互动的Flash 格式日历放在HTMLFlash 表单里.但不支持XML格式表单. 这个日历可以让用户自由选择日期作为变量提交.

类别

表单型 tags

语法

<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">
注: 你可以在attributeCollection 中指定这个标签的属性,作为一个结构的value,在attributeCollection 中指定结构的名称,并使用这个标签的属性名称作为这个结构的Keys.

历史

ColdFusion MX 7.01: 添加 onBluronFocus 事件.

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 格式为:

  • D = 天; 可以使用 0-2 个标记符
  • M = 月; 可以使用0-4个标记符
  • Y = 年; 可以使用0,2或4为标记符
  • E = 一周包含的天数; 可以使用0-4个标记符
  • 其他标记符 = 在指定的位置设定标记符

有关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 选择控制:

  • 使用上,下,左,右键去改变选中的日期.
  • 使用 HomeEnd 键 选择一个月的第一天和最后一天.
  • 使用 Page UpPage Down 键去选择上一月和下一月.

注: cfcalendar标签不支持XML格式表单

范例

该范例产生一个200*150Flash 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>