Mi respuesta sería la siguiente
Código HTML:
Ver original<script type="text/javascript" > window.onload = function () {
document.getElementById("opcion1").onclick = modificarEstado;
document.getElementById("opcion2").onclick = modificarEstado;
}
function modificarEstado(){
if (document.getElementById("opcion1").checked) {
document.getElementById("campo1").disabled = false;
document.getElementById("campo2").disabled = true;
} else {
document.getElementById("campo1").disabled = true;
document.getElementById("campo2").disabled = false;
}
}
function modificarEstado1(){
if(document.getElementById("tramite").checked) {
document.getElementById("fechaoficial").disabled =false;
} else {
document.getElementById("fechaoficial").disabled=true;
}
}
<input type="radio" name="opciones" id="opcion1" value="opcion1" > <input type="text" disabled="disabled" name="campo1" id="campo1" value="" style="width: 50px"><br>
<input type="radio" name="opciones" id="opcion2" value="opcion2" > <input type="text" disabled="disabled" id="campo2" name="campo2" style="width: 50px"><br>
<input type="radio" name="opciones" id="opcion3" value="opcion3"> Sin campo de texto a habilitar o deshabilitar si se selecciona esta opción
<br>
Recuerda que es recomendado abrir y cerrar llaves, así el if o cualquier otra esttructura de control tenga no más una línea de código. Y básicamente es por cadda if revertir el proceso del otro. También para limpiar el código html, utilicé manejadores de eventos semánticos, es decir:
Código Javascript
:
Ver originalwindow.onload = function () {
document.getElementById("opcion1").onclick = modificarEstado;
document.getElementById("opcion2").onclick = modificarEstado;
}
Lo que quiere decir que apenas carga todo el contenido de la ventana, asigna las acciones a los botones de radio.
Ojala te sirva
Exitos