Lo que puedes hacer es que el textfield este desde el principio en la pagina pero que no este visible al usuario, luego en función de que radiobutton seleccionen lo muestras o no, sería algo asi:
Código HTML:
Bueno:<input type="radio" name="voto" value="1" onClick="mostrarOtros()">
<br>
Malo:<input type="radio" name="voto" value="2" onClick="mostrarOtros()">
<br>
Otros:<input type="radio" name="voto" value="3" onClick="mostrarOtros()">
<br><input type="text" name="otros" style="display:none">
Y la funcion que controla que muestre o no el textfield es:
Código HTML:
function mostrarOtros(){
var radios = document.getElementsByName("voto");
if(radios[2].checked){
//mostrar el textfield
document.getElementById("otros").style.display="block";
}
else{
//ocultar el textfield
document.getElementById("otros").style.display="none";
//aqui puedes aprovechar para borrar lo que te hayan podido escribir en
//otros si es que no te interesa
document.getElementById("otros").value = "";
}
}
Además para controlar lo de que al principio también puede estar seleccionado el radiobutton correspondiente a otros lo que tienes que hacer es llamar la funcion mostrarOtros nada mas cargar la pagina:
<body
onload="mostrarOtros()">
espero que esto te sirva.