2011-07-26 72 views
1

我有一個<input type="text" />元素。在某些時候,我不希望它再接受文本。出於某種原因,例如不允許將type更改爲type="button"「凍結」一個輸入框

如何讓我的<input>元素不再接受文本?

+0

您是否想停止接受字符,因爲一段時間已過,發生了某種情況,或者因爲輸入了太多字符? – BoltBait

回答

5

讓它只讀:

$('#myInput').attr('readonly', 'readonly'); 
1

就禁用與控制:

<input type="text" disabled="disabled" /> 

但要注意,它仍然有可能被黑客操縱提交的表單數據。您應該確保應用適當的服務器端驗證。

如果使用jQuery您可以執行以下操作:

HTML: 
<input id="my-text-box" type="text" /> 

JS - jQuery 1.5-: 
$('#my-text-box').attr('disabled', 'disabled'); 
JS - jQuery 1.6+: 
$('#my-text-box').prop('disabled', true); 
+0

禁用和READONLY不同。提交表單時禁用的元素不會發送到服務器。只讀元素。 – Ariel

+0

@Ariel同意,我是在假設數據不應該提交。如果數據仍然應該提交,只需用「只讀」替換「禁用」兩個字 –

+0

順便說一句,不應該使用'attr()'來禁用。改用'prop()'。 – Ariel

0

添加READONLY屬性(jQuery的屬性)。

0

使用JavaScript,你可以做document.getElementById("textbox").disabled = "disabled";,這將使它只讀。