2015-02-04 36 views
1

是否可以使用cfif語句將「Readonly」添加到我的在ColdFusion中動態設置「Readonly」cfinput

我的網址(例如):

http://www.mywebsite.com/folder/page_review.cfm?action=view&rfqID=2 

例如:

<cfset pageAction="URL.action"> 
<cfset rfqID="URL.rfqID"> 
<label>*Sales Engineer:</label> 
<cfinput type="text" name="sales_engineer" 
value="" class="rfq_text_input" 
<cfif pageAction eq "view"> readonly</cfif>/> 

我的理論,爲什麼它不工作是因爲我在運行輸入內部的if語句。但我不知道如何測試。

+4

請勿使用'cfinput'(或任何其他ColdFusion UI功能),因爲它們執行不力,過時並且功能有限。如果您只是將標籤更改爲'' –

回答

-1

你不能嵌套的標籤是這樣的:

<cfinput etc <cfif>whatever</cfif> > 

你可以做到這一點與一個簡單的輸入標籤。否則,你必須做這樣的事情。

<cfif whatever> 
<cfinput something> 
<cfelse> 
<cfinput something else> 
</cfif> 
+0

您可以使用您的邏輯謝謝丹我希望我不會這樣做,但我想如果這是唯一的方法。 – Denoteone

+1

如果您使用標準HTML而不是'',則不需要這樣做。在你的例子中沒有什麼需要使用'',試着用'' –

+0

我建議仔細看一下@ Twillen的答案。三元運算符更類似於您嘗試的內容。我從來沒有想過嘗試它。我只是做了一個更簡單的例子,它的工作。 –

2

如果您堅持使用cfinput,則該標籤具有readonly屬性。當您想要阻止用戶輸入字段時,有條件地將屬性文本設置爲除空字符串以外的值。

<cfform> 
    <cfoutput> 
    <!--- Readonly attribute of cfinput (Read only) ---> 
    <cfinput type="text" name="text" readOnly="#(true)?"ReadOnly":""#" value="read only"> 
    <!--- Readonly attribute of cfinput (editable) ---> 
    <cfinput type="text" name="text2" readOnly="#(false)?"ReadOnly":""#" value="editable"> 
    <!--- HTML input ---> 
    <input type="text" name="text3" #(true)?"ReadOnly":""# value="read only" /> 
    </cfoutput> 
</cfform> 
+0

我剛剛測試過,我認爲這是更好的答案。 – Nicklepedde

相關問題