JavaScript - habilitar campo de texto

 
Vista:
sin imagen de perfil

habilitar campo de texto

Publicado por Marco (1 intervención) el 25/11/2013 03:25:57
que tal no se mucho de javascript necesito habilitar "n" campos de tipo text al darle click en un raddio button en html PERO solo me lo habilita cuando tengo uno, si tengo mas de 1 no lo habilita este es mi script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html>
<head>
<script language="JavaScript">
 
function habilita(){
document.frm.txt.disabled = false;
}
 
function deshabilita(){
document.frm.txt.disabled = true;
document.frm.txt.value = "";
}
 
</script>
</head>
<body>
<form name='frm'>
<b>Sexo:</b><br>
<input type="radio" name="rad" value="M" onclick="deshabilita()">
Masculino<br>
<input type="radio" name="rad" value="F" onclick="deshabilita()">
Femenino<br>
<input type="radio" name="rad" value="O" onclick="habilita(this.frm.txt)">
Otro (Indique cual:
<input type='text' name='txt' disabled>
<input type='text' name='txt' disabled>
</form>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

habilitar campo de texto

Publicado por xve (2100 intervenciones) el 25/11/2013 08:14:24
Hola Marco, en teoría no pueden haber dos campos de texto de un mismo formulario con el mismo nombre, a no ser que sea un array de valores...

La manera de hacerlo, puede ser poniendo dos nombres diferentes, o utilizando una clase de css... algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<html>
<head>
<script language="JavaScript">
    function habilita(){
        elementos=document.getElementsByClassName("inputText");
        for(var i = 0; i < elementos.length; i++)
        {
            elementos[i].disabled = false;
        }
    }
 
    function deshabilita(){
        elementos=document.getElementsByClassName("inputText");
        for(var i = 0; i < elementos.length; i++)
        {
            elementos[i].disabled = true;
        }
    }
</script>
</head>
 
<body>
    <form name='frm'>
        <b>Sexo:</b><br>
        <input type="radio" name="rad" value="M" onclick="deshabilita()">
        Masculino<br>
        <input type="radio" name="rad" value="F" onclick="deshabilita()">
        Femenino<br>
        <input type="radio" name="rad" value="O" onclick="habilita()">
        Otro (Indique cual:
        <input type='text' name='txt1' disabled class='inputText'>
        <input type='text' name='txt2' disabled class='inputText'>
    </form>
</body>
</html>


Todo esto utilizando jquery se simplifica bastante... algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script language="JavaScript">
    function habilita(){
        $(".inputText").removeAttr("disabled");
    }
 
    function deshabilita(){
        $(".inputText").attr("disabled","disabled");
    }
</script>
</head>
 
<body>
    <form name='frm'>
        <b>Sexo:</b><br>
        <input type="radio" name="rad" value="M" onclick="deshabilita()">
        Masculino<br>
        <input type="radio" name="rad" value="F" onclick="deshabilita()">
        Femenino<br>
        <input type="radio" name="rad" value="O" onclick="habilita()">
        Otro (Indique cual:
        <input type='text' name='txt1' disabled class='inputText'>
        <input type='text' name='txt2' disabled class='inputText'>
    </form>
</body>
</html>

Espero que te sirva... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

habilitar campo de texto

Publicado por The_King (1 intervención) el 08/01/2015 21:09:26
Gracias man!!!! Sirvió de mucho tu ayuda, ahora a complementarse en JQuery.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

habilitar campo de texto

Publicado por luis alberto ramos (1 intervención) el 08/11/2015 00:32:36
gracias me sirvio de mucha ayuda me guata trabajar mucho con javascrip para validar los formularios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Muchas gracias me sirvio muchisimo

Publicado por Fabian Botina (1 intervención) el 13/04/2015 23:38:50
Me sirvio demasiado este codigo gracias busque por todo internet una ayuda pero ninguna fue tan clara como esta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar