2011-04-11 17 views
12

anterior Le pedí ayuda para desactivar un botón cuando se seleccionó un elemento del menú desplegable. Me dieron un código que hizo el truco pero ahora necesito lo mismo con un cuadro de texto y por alguna extraña razón no su trabajo se puede echar un vistazo para mí ...¿Cómo desactivo TextBox usando JavaScript?

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; 

Cualquier idea por qué no lo puedo deshabilitar el cuadro de texto?

Gracias

+5

tipo de cuadro de texto no existe ... usar en su lugar '' [link] (http://www.w3schools.com/tags/ tag_input.asp) –

Respuesta

25

elementos de formularios pueden ser accedidos a través de elemento DOM del formulario por nombre, no por el valor de "id". Dé a sus nombres de elementos de formulario si desea acceder a ellos de esa manera, o bien acceder a ellos directamente por el valor "id":

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

edición — oh también, como se ha señalado por otros, es sólo "texto" , no "TextBox", para el atributo "tipo".

Es posible que desee invertir un poco de tiempo en la lectura de algunos tutoriales de desarrollo de front-end.

2

Con la ayuda de jQuery se puede hacer de la siguiente manera.

$("#color").prop('disabled', true); 
+0

jQuery no es JavaScript. por favor no responda las preguntas de JavaScript con las respuestas de jQuery. – Matth3w

1

Aquí fue mi solución:

de marcado:

<div id="name" disabled="disabled"> 

Javascript:

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

Esta es la mejor solución para mis aplicaciones - espero que esto ayude!

0

Usted puede utilizar el atributo desactivado para desactivar el cuadro de texto.

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

¡La respuesta aceptada ya ha proporcionado la solución que recomienda hace más de 5 años! –

Cuestiones relacionadas