我在表單(UUID)中有一些動態名稱的輸入變量。 爲了避免錯誤,我測試了是否定義了變量,但奇怪的是函數IsDefined返回了一個錯誤(當字段沒有像收音機或複選框那樣發送時)。測試是否定義了一個動態變量
HTML結果形式:
Yes <input type="radio"id="content_BB66F151-CB09-1C8C-CCF53DE1A92652FC"
name="content_BB66F151-CB09-1C8C-CCF53DE1A92652FC" value="1">
No <input type="radio" id="content_BB66F151-CB09-1C8C-CCF53DE1A92652FC"
name="content_BB66F151-CB09-1C8C-CCF53DE1A92652FC" value="0">
我CFM:
Yes <input type="radio" id="content_#qMD.MD_FIELD_ID#"
name="content_#qMD.MD_FIELD_ID#" value="1"> No <input type="radio" id="content_#qMD.MD_FIELD_ID#" name="content_#qMD.MD_FIELD_ID#" value="0">
我的CFM測試:我都MD_FIELD_ID的列表和循環在他們
<cfloop list="#attributes.lMetadataField#" index="MD_FIELD_ID" delimiters="," >
<cfif IsDefined("attributes.content_" & MD_FIELD_ID)>
</cfif>
當該領域不在提交的表格中時,Coldfusion將返回給我:
函數IsDefined的參數1,現在是attributes.content_BB66F151-CB09-1C8C-CCF53DE1A92652FC,必須是一個語法上有效的變量名稱。
我已經嘗試了不同的語法:
IsDefined("attributes.content_#MD_FIELD_ID#") or
attributes["content_#MD_FIELD_ID#"]
但總是相同的錯誤。如果該字段在提交的表單中,則可以正常工作。
我的代碼有什麼問題?
您是否嘗試將該複選框重命名以用於測試目的?嘗試StructKeyExists(屬性,「content_」和MD_FIELD_ID) –