Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/02/2018, 09:30
antonio_dsanchez
 
Fecha de Ingreso: abril-2015
Mensajes: 130
Antigüedad: 9 años, 7 meses
Puntos: 0
habilitar y deshabilitar campos

hola a todos, estoy terminando un proyecto y quisiera ver la forma de habilitar y deshabilitar un campo de texto dependiendo del radiobutton que seleccione el usuario.

ya encontré un código en el foro y es lo que quiero solo que mi cuestionario se llena de un array que me trae las preguntas de una base de datos y esto ocasiona que al seleccionar un "no" me habilite todos los campos y yo solo quiero que habilite el campo de texto de la pregunta donde el usuario puso que "no".

este es mi formulario

Código PHP:
<?php
            
//consulta que captura el texto , id de la tabla respuestas
            
$sql "SELECT texto,id FROM respuestas WHERE idenc='$id'";
            
$sql mysqli_query($conexion,$sql);
            
//ahora recorremos los datos texto, id que estan vinculadas a la cuenta seleccionada
            
while ($row mysqli_fetch_array($sql)){
                
$texto $row["texto"];
                
$idres $row["id"];  
            
?><tr>
              <!--  <td width="50"><input type="radio" name="opcion" value="<?php echo $idres?>" required</td>
                <td width="470"><?php echo $texto?></td>-->
            <?php echo "<fieldset> 
                  <legend>"
.$texto."</legend> 
                  <label> 
                    <input type='radio' name='radio"
.$idres."' value='1' onclick='deshabilita()'> Si 
                  </label> 
                  <label> 
                      <input type='radio' name='radio"
.$idres."' value='0' onclick='habilita()'> No 
                  </label> 
                  <label> 
                      <textarea name='Hallazgo"
.$idres."' disabled class='inputText'>Se tiene un hallazgo? </textarea>
                  </label>
                 <label> 
                      <textarea name='Accion"
.$idres."' disabled class='inputText'>Cual es la acción correctiva </textarea>
                  </label> 
            </fieldset>"
?>    
            </tr>
            <?php ?>
            <tr>
este es el codigo javascript

Código Javascript:
Ver original
  1. <script language="JavaScript">
  2.     function habilita(){
  3.         elementos=document.getElementsByClassName("inputText");
  4.         for(var i = 0; i < elementos.length; i++)
  5.         {
  6.             elementos[i].disabled = false;
  7.         }
  8.     }
  9.  
  10.     function deshabilita(){
  11.         elementos=document.getElementsByClassName("inputText");
  12.         for(var i = 0; i < elementos.length; i++)
  13.         {
  14.             elementos[i].disabled = true;
  15.         }
  16.     }
  17. </script>