2010-03-10 110 views
7

我在文本輸入框中使用了jQuery datepicker,我不想讓用戶使用鍵盤更改文本輸入框中的任何文本。如何不允許使用jQuery在文本輸入字段中輸入內容?

這裏是我的代碼:

$('#rush_needed_by_english').keydown(function() { 
    //code to not allow any changes to be made to input field 
}); 

我怎麼沒允許使用jQuery文本輸入字段鍵盤打字?

回答

8
$('#rush_needed_by_english').keydown(function() { 
    //code to not allow any changes to be made to input field 
    return false; 
}); 
+0

完美!謝謝! – zeckdude 2010-03-10 00:53:42

+1

這封面貼事件嗎?如果我在框中單擊並鍵入ctrl-V,該怎麼辦? – Cheeso 2010-03-10 11:16:40

+1

使用按鍵代替keydown。按鍵仍然允許tab,ctrl-v等等,而keydown會阻止所有按鍵。 @Cheeso,我可能會在5年後回答你的問題,但是......我回答了! – 2015-04-06 19:41:28

0

,你可以:

$('#rush_needed_by_english').attr('disabled', 'disabled'); 
+0

不,這將使該字段看起來禁用也,我試圖避免這一點。我只是不希望他們能夠打字。 – zeckdude 2010-03-10 00:56:14

+0

禁用其他屬性的問題這些字段不會傳遞到服務器 – 2012-01-06 07:05:27

6

你可以簡單地讓外地只讀有:

$('#rush_needed_by_english').attr('readonly', 'readonly'); 

如果你正在使用jQuery 1.6或更高版本,您應該使用prop()方法相反:

$('#rush_needed_by_english').prop('readOnly', true); 
// careful, the property name string 'readOnly' is case sensitive! 

或溝jQuery和使用普通的JavaScript:

document.getElementById('rush_needed_by_english').readOnly = true; 
相關問題