2013-05-08 77 views
0

我有這個文本框,我想總是有這樣的價值:如何使文本字段不可編輯?

<%= text_field_tag :quantity, "1", class: "uneditable-input" %> 

即我不希望用戶能夠將數量值更改爲以外的任何其他1.

我試着增加了disabled: true,這使灰色字段,但它也禁用它 - 改變表單的行爲(即表單提交時沒有數量值)。

所有我想要做的就是迫使每一個提交此表的人能夠看到的1的數量 - 而不是能夠改變它 - 有1

系統如何處理量我要這樣做嗎?

+2

不管你做什麼客戶端,你必須妥善處理代碼服務器端:它總是可能的,如果輸入被禁止直接連編輯HTML。 – apneadiving 2013-05-08 06:57:07

+0

Hrmm ... @apneadiving好點。 – marcamillion 2013-05-08 09:46:45

回答

3

試試這個

<%= text_field_tag :quantity, "1", class: "uneditable-input", :readonly => true %>

或者,如果你想禁用它,你可以這樣來做

<%= text_field_tag :quantity, "1", class: "uneditable-input", :disabled => true %>

2

您可以簡單地將文本字段值設置爲1個服務器端,而留下disabled: true客戶端。

1

嘗試:

<%= text_field_tag :quantity, nil, {value: "1", disabled: true} %> 

輸出:

<input disabled="disabled" id="quantity" name="quantity" type="text" value="1"> 
4

試試看:

<%= text_field_tag :quantity,:readonly => true%> 
+0

完美。奇蹟般有效! – marcamillion 2013-05-08 09:46:05