Foros del Web » Programando para Internet » Javascript »

resetear el valor de los textbox al deshabilitarlos con javascript

Estas en el tema de resetear el valor de los textbox al deshabilitarlos con javascript en el foro de Javascript en Foros del Web. Hola Estimados, Estoy desarrollando un formulario dinamico que mediante un checkbox el usuario puede habilitar los textbox, eso funciona perfecto. Ahora necesito implementar un reset ...
  #1 (permalink)  
Antiguo 24/09/2012, 15:10
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
resetear el valor de los textbox al deshabilitarlos con javascript

Hola Estimados,

Estoy desarrollando un formulario dinamico que mediante un checkbox el usuario puede habilitar los textbox, eso funciona perfecto. Ahora necesito implementar un reset con javascript para los textbox deshabilitados. ¿Es posible hacer esto con javascript?

Se que this.form.reset() permite resetar el valor de un textbox (dejarlo con el valor por defecto)
Pero no se como implementarlo en este codigo:

<form action="boleta" name="form_energia" method="post" >

foreach ($boletas as $key => $boleta){

<tr>

<td>
<input type="text" name="data[Boleta][lectura_anterior_mod][<?php echo $key; ?>]"
id ="lectura_anterior<?php echo $key; ?>" disabled="disabled" />
</td>
<td>
<input type="text" name="data[Boleta][lectura_actual_mod][<?php echo $key; ?>]"
id ="lectura_actual<?php echo $key;?>" disabled="disabled" />
</td>
<td>
<?php echo "<input type='checkbox'
onClick='
if(this.checked==true){
this.form.lectura_anterior$key.disabled=false;
this.form.lectura_actual$key.disabled=false;
this.form.comentario$key.disabled=false;
this.form.reset(); // Esta linea no me funciona
}
else{
this.form.lectura_anterior$key.disabled=true;
this.form.lectura_actual$key.disabled=true;
this.form.comentario$key.disabled=true;
}'
/>"; ?>
</td>
<td>
<input type="text" name="data[Boleta][comentario][<?php echo $key; ?>]"
id="comentario<?php echo $key; ?>" disabled="disabled" />
</td>
</tr>
<?php } ?>
</table>
<input type="submit" value="Siguiente" />
</form>

No se si me explico. De antemano muchas gracias por su tiempo.
  #2 (permalink)  
Antiguo 24/09/2012, 16:15
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: resetear el valor de los textbox al deshabilitarlos con javascript

Primero verifica que valores por defecto tiene tu formulario acuerdate que el reset te volverá a los valores por defecto que han sido asignado, digamos que yo tenga asi mi input text

Código HTML:
Ver original
  1. <input type="text" name="nombre" value="Luis Fernando" />

como ves si tu cambias el value de este input text una vez que esta ejecutado y haces el reset volvera al valor por defecto hasta ahi todo bien.

Ahora para hacer el reset mejor usa esto document.forms["myform"].reset();
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 25/09/2012, 08:01
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: resetear el valor de los textbox al deshabilitarlos con javascript

Gracias por tu respuesta.

Cita:
Iniciado por Dradi7 Ver Mensaje
Primero verifica que valores por defecto tiene tu formulario acuerdate que el reset te volverá a los valores por defecto que han sido asignado, digamos que yo tenga asi mi input text
Si lo se, solo se me olvido poner aqui los valores por defecto, pero en el codigo original los tengo de esta forma:
Código:
<input type="text" name="data[Boleta][lectura_actual_mod][<?php echo $key; ?>]"
id ="lectura_actual<?php echo $key;?>" value ="<?php echo $lectura_anterior; ?>" disabled="disabled" />
Cita:
Iniciado por Dradi7 Ver Mensaje
Ahora para hacer el reset mejor usa esto document.forms["myform"].reset();
Ok, Si actualmente estoy ocupando esto para habilitar o deshabilitar los textbox dinámicos que por defecto vienen deshabilitados.

Código PHP:
                                   <?php echo "<input type='checkbox' 
                                   onClick='
                                   if(this.checked==true){
                                        this.form.demanda_mS_mod_id$key.disabled=false;
                                        this.form.demanda_mHP_mod_id$key.disabled=false;
                                        this.form.comentario$key.disabled=false;
                                   }
                                   else{ 
                                        this.form.demanda_mS_mod_id$key.disabled=true;
                                        this.form.demanda_mHP_mod_id$key.disabled=true;
                                        this.form.comentario$key.disabled=true;
                                   }'                                  
                                   />"
?>
¿Como puedo implementar la funcion document.forms["myform"].reset(); a este codigo?,
¿Como puedo resetear el valor de un textbox dinamico especifico deshabilitado (disabled="disabled") de un formulario?
¿Hay alguna otra forma de hacer esto solo con javascript?


Muchas gracias, estare atento a sus comentarios.
  #4 (permalink)  
Antiguo 25/09/2012, 09:02
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: resetear el valor de los textbox al deshabilitarlos con javascript

Primero supongo que quieres deshabilitar todos los controles de tu formulario entonces crea una funcion javascript aparte y solo llama el nombre de la función en el evento onclick de tu checkbox (aunque esto no es buena practica)

Asi debe quedar tu checkbox
Código Javascript:
Ver original
  1. <input type='checkbox' onclick="resetear()" />

tu codigo javascript como debe ser

Código Javascript:
Ver original
  1. // instanciando en una variable los elementos de tu formulario
  2. var frm = document.forms["frm"];
  3. var elements = frm.elements;
  4.  
  5. // recorriendo todos los elementos de tu formulario
  6. for(var x=0;elements[x];x++){
  7.     if(elements[x].type==="text"){
  8.         elements[x].disabled = true;
  9.     }
  10. }
  11.  
  12. // realizando el reset
  13. frm.reset();
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 25/09/2012, 12:23
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: resetear el valor de los textbox al deshabilitarlos con javascript

Cita:
Iniciado por Dradi7 Ver Mensaje
Primero supongo que quieres deshabilitar todos los controles de tu
No necesariamente.

En los textbox que bienen deshabilitadas, el usuario ve los valores que tiene por defecto, si estos estan bien, los deja tal cual como están, sino, habilita el textbox con los datos malos e ingresa los datos correctos, pero si se equivoca podría dejar el textbox deshabilitado, ese textbox debe ser reseteado.

Si hiciera un reset a todos los textbox restauraría los valores por defecto y se perderían los datos ingresados por el usuario.
  #6 (permalink)  
Antiguo 25/09/2012, 12:25
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: resetear el valor de los textbox al deshabilitarlos con javascript

pero recuerda que el reset afecta a todo el formulario y a todos los controles que se encuentran en el, en todo caso lo que yo te puse puedes mejorarlo solo diciendo que controles vas a deshabilitar o no
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #7 (permalink)  
Antiguo 25/09/2012, 12:28
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: resetear el valor de los textbox al deshabilitarlos con javascript

Ok, gracias.

Etiquetas: js
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 07:15.