Foros del Web » Programando para Internet » Javascript »

Activar cuadro de texto con botones radio

Estas en el tema de Activar cuadro de texto con botones radio en el foro de Javascript en Foros del Web. Hola saludos. estoy haciendo una web tipo cuestionario, en la que se presenta una pregunta y varias opciones; entonces, quiero que cuando diga ninguna de ...
  #1 (permalink)  
Antiguo 18/12/2011, 11:40
Avatar de Yacobh  
Fecha de Ingreso: diciembre-2011
Ubicación: con los pies en la tierra
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 7
Pregunta Activar cuadro de texto con botones radio

Hola saludos.
estoy haciendo una web tipo cuestionario, en la que se presenta una pregunta y varias opciones;
entonces, quiero que cuando diga ninguna de las anteriores se active un cuadro de texto para que el usuario escriba su respuesta.

Tengo este codigo
Código:
<SCRIPT language="JavaScript" type="text/javascript">
agree = 0;  // 0 means 'si', 1 means 'yes'
</script>

<form name="pregunta" method="post" action="manejador.php">
<p>Al sumar 1/3 + 2/3 se obtiene:<br />
<input name="distractor" type="radio" value="rbipeliculas" onClick="agree=0; document.pregunta.box.focus();" />0<br />
<input name="distractor" type="radio" value="rbilibros" onClick="agree=0; document.pregunta.box.focus();" />1<br />
<input name="distractor" type="radio" value="rbiinternet"onClick="agree=0; document.pregunta.box.focus();" />2/6<br />
<input name="distractor" type="radio" value="ninguna" onClick="agree=1; document.pregunta.box.focus();"/>Ninguna de las anteriores<br />
Otra <input type=text name=box onFocus="if (!agree)this.blur();" onChange="if (!agree)this.value='';" size=12>
</p>
<INPUT TYPE="submit" VALUE="Enviar"> 
</form>
sucede que mas o menos hace lo que quiero, sin embargo, tiene errores para lo que quiero;

1º si se selecciona "ninguna de las anteriores" y luego se escribe algo en el cuadro de texto y luego se selecciona otra de las opciones y se envía, se enviaran los dos datos, y eso me podría ocasionar problemas al recibir los datos.

2º el cuadro de texto no se desactiva solo se bloquea, me gustaría que se desactivara.

Bueno si alguien me puede ayudar lo agradecería..
SAludos

------------------
modificacion

Bueno; he encontrado la respuesta en otro punto de este foro gracias a un script de JavierB, asi que dejo como quedo el codigo por si alguien lo necesita;
Código HTML:
<script language="javascript" type="text/javascript">   
function mostrar(frm) { 
  //activamos todos los cuadros de texto 
  for(i=0;i<frm.elements.length;i++) 
    frm.elements[i].disabled=false; 
  //desactivamos los cuadros de texto que correspondan 
  for(i=1;i<mostrar.arguments.length;i++) 
    eval('frm.'+mostrar.arguments[i]+'.disabled=true'); 
} 
</script>

<body>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div id="contenido">
<form name="pregunta" method="post" action="manejador.php">
<p>Al sumar 1/3 + 2/3 se obtiene:<br />
<input name="distractor" type="radio" value="uno" onclick="mostrar(this.form,'box')"  />0<br />
<input name="distractor" type="radio" value="dos" onclick="mostrar(this.form,'box')"  />1<br />
<input name="distractor" type="radio" value="tres"onclick="mostrar(this.form,'box')"  />2/6<br />
<input name="distractor" type="radio" value="ninguna" onclick="mostrar(this.form,'')" />Ninguna de las anteriores
<input type=text name=box onFocus="if (!agree)this.blur();" onChange="if (!agree)this.value='';"size=12>
</p>
<INPUT TYPE="submit" VALUE="Enviar"> 
</form> 

Última edición por Yacobh; 18/12/2011 a las 14:15 Razón: encontre la solucion

Etiquetas: formulario, radiobutton
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:17.