如何使用JavaScript禁用文本框?

17

之前我寻求帮助,想要在选择下拉菜单项目时禁用一个按钮。我得到了一些代码,解决了这个问题,但现在我需要同样的功能来禁用文本框,但出于某种奇怪的原因它不起作用,你能帮忙看看吗?...

HTML:

<form id="frmColor">
    <input type='TextBox' id='color' />
    <input type='submit' value='Change Color' id="colorSubmit"/>
 </form>

JavaScript:

  tools.eraser = function () {
    var tool = this;
    this.started = false;
    var varPenColor = "White";
    context.strokeStyle = varPenColor;
    document.getElementById('frmColor').colorSubmit.disabled=true;
    document.getElementById('frmColor').color.disabled=true;
有什么想法,为什么它不能禁用文本框?
谢谢。

5
文本框类型不存在...请改用 <input type="text" id="color" />链接 - Patrick Ferreira
4个回答

37

通过name而不是"id"值,可以通过表单的DOM元素访问表单元素。如果您想这样访问它们,请为表单元素命名,否则可以通过"id"值直接访问它们:

document.getElementById("color").disabled = true;

编辑 — 还有,正如其他人指出的那样,"type"属性只是"文本",而不是"TextBox"

你可能想花一点时间阅读一些前端开发教程。


5
通过使用jQuery可以实现如下功能。
$("#color").prop('disabled', true);

2
jQuery不是JavaScript。请不要用jQuery的回答来回答JavaScript的问题。 - user4914655
实际上是的,它完全使用JavaScript编写的。 - John Lord

2
这是我的解决方案:
标记:
<div id="name" disabled="disabled">

Javascript:

document.getElementById("name").disabled = true;

这是我应用程序的最佳解决方案 - 希望能对您有所帮助!

0

您可以使用disabled属性来禁用文本框。

document.getElementById('color').disabled = true;

1
被接受的答案已经在5年前提供了你推荐的解决方案! - Angel Politis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接