spec/lib/controls/checkbox.cfm
2025-06-02 16:16:51 +03:00

23 lines
1.1 KiB
Plaintext

<cfsilent>
<cfparam name="ATTRIBUTES.name"/>
<cfparam name="ATTRIBUTES.value" default="1"/>
<cfif structKeyExists(ATTRIBUTES,"checked")>
<cfset checked=!(ATTRIBUTES.checked EQ "0" OR ATTRIBUTES.checked EQ "")/>
<cfelse>
<cfset checked=!(ATTRIBUTES.container[ATTRIBUTES.name] EQ "0" OR ATTRIBUTES.container[ATTRIBUTES.name] EQ "")/>
</cfif>
<cfparam name="ATTRIBUTES.suffix" default=""/>
<cfparam name="ATTRIBUTES.id" default="#ATTRIBUTES.name##ATTRIBUTES.suffix#"/>
<cfparam name="ATTRIBUTES.disabled" type="boolean" default="No"/>
<cfset attributeList="name,value,checked,container,suffix,id,disabled"/>
</cfsilent><cfoutput><input type="checkbox" name="#ATTRIBUTES.name#"<!---
---><cfif len(ATTRIBUTES.id)> id=#ATTRIBUTES.id#</cfif> value="#ATTRIBUTES.value#"<!---
---><cfif checked> checked="checked"</cfif><!---
---><cfif ATTRIBUTES.disabled> disabled="disabled"</cfif><!---
passthrough additional attributes
---><cfloop collection=#ATTRIBUTES# item="attr"><!---
---><cfif NOT listFindNoCase(attributeList,attr)> #attr#="#structFind(ATTRIBUTES,attr)#"</cfif><!---
---></cfloop>/></cfoutput><cfexit method="exittag"/>