javascript - Onclick 无法在 IE8 和 IE7 中启用只读字段

标签 javascript jquery events

我有一个简单的要求,即在单击时启用只读文本字段并在其中输入值。

为此我遵循了以下js

function enableField(){
document.getElementById("recordname").readOnly = false;  
}

HTML代码是

<input id="recordname" cssClass="Gry999"  maxLength="35"  readonly="true" onclick="enableField()" name="recordname"  onkeypress="return validateCustomize(event);"/>

在所有浏览器(firefox、chrome、ie 9)中,此代码均按预期工作, 但在 IE8 中 - 我需要单击两次才能输入值(第一次单击时文本字段获得焦点但无法输入值,其行为类似于readyonly)

我也尝试过jquery(从输入字段中删除onclik attr后)但没有帮助

$(document).ready(function() {                 
     $('#recordname').on('click',function() {           
     $('.jqueryclickcls').attr('readonly', false);   
  });
});

更新: 当从任何其他控件触发此代码时(例如单击另一个链接启用文本字段时),相同的 document.getElementById("recordname").readOnly = false; 代码将起作用

function enableField(){
    document.getElementById("recordname").readOnly = false;  
document.getElementById("recordname").focus();
    }
<a onclick="enableField()" >Enable Field</a>

在此之后我可以输入值??!!

最佳答案

您应该使用 jQuery 来将字段设置为禁用(即只读):

function disableField(){
    $("#recordname").attr("disabled", "disabled");
}

function enableField(){
    $("#recordname").removeAttr("disabled");
}

这非常简单,并且在 IE 上也适用于我。

关于javascript - Onclick 无法在 IE8 和 IE7 中启用只读字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11431360/

相关文章:

javascript 或 jquery,点击一个链接并展开一个 div

javascript - 如何在 jQuery 同步浏览器阻止 POST 期间更改光标?

javascript - 如何计算多种表单中的复选框选中数?

java - 将所有按键事件转发到父 JFrame

javascript - 在窗口单击事件中访问元素及其子/后代

javascript - 如何在 WooCommerce 3 中进行调试

javascript - 如何处理IE全屏模式工具栏隐藏页面内容

javascript - 使用 jQuery 添加类到列表

javascript - 带有默认页面的 JS 返回按钮

Javascript EventListener 是由它自己调用的