禁用按键以输入文本框

时间:2017-06-23 09:02:39

标签: jquery html

我有文本框,它是在drupal曝光过滤器中生成的。我试图在文本框中禁用键入。但仍未禁用文本框。



jQuery(document).ready(function($) {
 $('#edit-field-date-value-value-datepicker-popup-0').bind('keypress', function(e) {
    e.stopPropagation(); 
});

});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="edit-field-date-value-value-datepicker-popup-0" name="field_date_value[value][date]" value="" size="20" maxlength="30" class="form-text hasDatepicker date-popup-init">
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:1)

你是说这个吗?

jQuery(document).ready(function($) {
 $('#edit-field-date-value-value-datepicker-popup-0').bind('keypress', function(e) {
    e.preventDefault(); 
});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="edit-field-date-value-value-datepicker-popup-0" name="field_date_value[value][date]" value="" size="20" maxlength="30" class="form-text hasDatepicker date-popup-init">

使用preventDefault()而不是stopPropagation()。

如果您可以编辑HTML本身,添加属性“disabled”将完全禁用输入。

答案 1 :(得分:0)

只需添加已禁用的

<input disabled type="text" id="edit-field-date-value-value-datepicker-popup-0" name="field_date_value[value][date]" value="" size="20" maxlength="30" class="form-text hasDatepicker date-popup-init">

答案 2 :(得分:0)

只需在输入类型中添加readonly属性=&#34; text&#34;如下图所示:

<input type="text" id="edit-field-date-value-value-datepicker-popup-0" 
name="field_date_value[value][date]" value="" size="20" maxlength="30" 
class="form-text hasDatepicker date-popup-init" readonly="true">

答案 3 :(得分:0)

 <input type="text" id="edit-field-date-value-value-datepicker-popup-0" name="field_date_value[value][date]" value="" size="20" maxlength="30" class="form-text hasDatepicker date-popup-init" disabled>

为什么不能使用禁用属性禁用它。

https://jsfiddle.net/co8dd2nx/

或者如果你想用javascript禁用它,你必须在加载时执行它。像这样:

window.onload = function() {
   document.getElementById('1').disabled = true;
};