Foros del Web » Programando para Internet » Javascript »

Bloquear campos en un formulario

Estas en el tema de Bloquear campos en un formulario en el foro de Javascript en Foros del Web. Hola a todo quiero saber como puedo bloquear un campo en caso talque un usuario seleccione una opcion. ejemplo: Sexo: x Hombre x mujer Si ...
  #1 (permalink)  
Antiguo 30/03/2010, 15:26
Avatar de konoyek  
Fecha de Ingreso: julio-2007
Mensajes: 268
Antigüedad: 16 años, 9 meses
Puntos: 0
De acuerdo Bloquear campos en un formulario

Hola a todo quiero saber como puedo bloquear un campo en caso talque un usuario seleccione una opcion.
ejemplo:

Sexo: x Hombre
x mujer

Si selecciona sexo hombre mas abajo esten deshabilitadas unas opciones que solo las mujeres ingresan lo mismo seria si se selecciona sexo mujer
  #2 (permalink)  
Antiguo 30/03/2010, 15:56
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: Bloquear campos en un formulario

usa los eventos onChance de HTML y crea una funcion en javascript para desabilitar el campo en cuestion. saludos..
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #3 (permalink)  
Antiguo 30/03/2010, 16:03
Avatar de konoyek  
Fecha de Ingreso: julio-2007
Mensajes: 268
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Bloquear campos en un formulario

me podrias dar un ejemplo para hacer eso?
  #4 (permalink)  
Antiguo 30/03/2010, 16:06
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Bloquear campos en un formulario

Hola konoyek,

No se como tienes el formulario... mira el codigo que acabo de hacerte. Es sencillo y tosco... pero funciona perfectamente. Lo que hace es ocultar los campos que no son necesarios dependiendo del genero, ademas de ocultarlos los deshabilita:

Código PHP:
<script>
    function 
eleccion_de_sexo(opcion)
        {
            if(
opcion!='')
                {
                    if(
opcion=='hombre')
                        {
                            
                            
document.getElementById('hombre').style.display='block';
                            
document.getElementById('mujer').style.display='none';
                            
                            
document.getElementById('hombre_select').disabled false;
                            
document.getElementById('mujer_select').disabled true;
                        }
                    if(
opcion=='mujer')
                        {
                            
document.getElementById('hombre').style.display='none';
                            
document.getElementById('mujer').style.display='block';
            
                            
document.getElementById('hombre_select').disabled true;
                            
document.getElementById('mujer_select').disabled false;
                        }
                }
            else
                {
                    
document.getElementById('hombre').style.display='none';
                    
document.getElementById('mujer').style.display='none';
    
                    
document.getElementById('hombre_select').disabled true;
                    
document.getElementById('mujer_select').disabled true;
                }
        }
</script>
    <fieldset id="sexo">
        <legend>Eleccion del sexo</legend>
        <select onChange="eleccion_de_sexo(this.value)" autocomplete="off" style="width:100%;">
            <option selected="selected" value="">Selcciona tu sexo</option>
            <option value="hombre">Hombre</option>
            <option value="mujer">Mujer</option>
        </select>
    </fieldset>
    
    <fieldset id="hombre" style="display:none; background:brown">
        <legend>Datos especificos de la hombre</legend>
        <select id="hombre_select" autocomplete="off" style="width:100%;" disabled="disabled">
            <option selected="selected">¿Que deporte te gusta?</option>
            <option value="1">Futbol</option>
            <option value="2">Golf</option>
        </select>
    </fieldset>
    <fieldset id="mujer" style="display:none; background:pink">
        <legend>Datos especificos de la mujer</legend>
        <select id="mujer_select" autocomplete="off" style="width:100%;" disabled="disabled">
            <option selected="selected">¿Que revista te gusta?</option>
            <option value="1">Hola!</option>
            <option value="2">Que me dices!</option>
        </select>
    </fieldset> 
Espero que te sirva!
Te sirve?
  #5 (permalink)  
Antiguo 30/03/2010, 16:13
Avatar de konoyek  
Fecha de Ingreso: julio-2007
Mensajes: 268
Antigüedad: 16 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Bloquear campos en un formulario

Muchas gracias por tu colaboracion pero en si e formulario es el siguiente http://mindsetco.com/intranet/clientes.png la idea es donde se encuentra autoretenedor y contribuyente si se selecciona si quede habilitado resolucion y fecha del respectivo si le da en la opcion no estos campos queden gris o deshabilitados en este caso como seria
  #6 (permalink)  
Antiguo 30/03/2010, 16:17
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: Bloquear campos en un formulario

<HTML>
< HEAD>

<SCRIPT LANGUAGE="JavaScript">

function Disab(val) {
frm=document.forms[0]
if(val=="enabl")
{frm.Button1.disabled=false;frm.Button2.disabled=f alse}
if(val=="buttn1")
{frm.Button1.disabled=true;frm.Button2.disabled=fa lse}
if(val=="buttn2")
{frm.Button1.disabled=false;frm.Button2.disabled=t rue}
if(val=="disabl")
{frm.Button1.disabled=true;frm.Button2.disabled=tr ue}
}

</SCRIPT>

</HEAD>
<BODY TEXT="000000" BGCOLOR="FFFFFF">

<form>
<div align="center">
<select name="select" onChange="Disab(this.value)">
<option value="enabl">Enable All Buttons</option>
<option value="buttn1">Disable Button 1</option>
<option value="buttn2">Disable Button 2</option>
<option value="disabl">Disable All Buttons</option>
</select>
</div>
<p align="center">
<input type=button onClick="alert('Button 1 pressed!')" value="Button 1" name="Button1">
<input type=button onClick="alert('Button 2 pressed!')" value="Button 2" name="Button2">
</form>
</BODY>
</HTML>
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #7 (permalink)  
Antiguo 30/03/2010, 16:26
 
Fecha de Ingreso: marzo-2010
Mensajes: 32
Antigüedad: 14 años
Puntos: 0
Respuesta: Bloquear campos en un formulario

Konoyek eso se puede hacer con los parametros de OnChance en el idioma web HTML .... (como dijo el amigo "eddwinpaz)

el ej que te dio salbatore esa muy bien..solamente te queda editarlo a tu necesidad
  #8 (permalink)  
Antiguo 30/03/2010, 16:27
 
Fecha de Ingreso: marzo-2010
Mensajes: 32
Antigüedad: 14 años
Puntos: 0
Respuesta: Bloquear campos en un formulario

eddwinpaz me podes ayudar en un problema que tengo??
  #9 (permalink)  
Antiguo 30/03/2010, 16:29
Avatar de konoyek  
Fecha de Ingreso: julio-2007
Mensajes: 268
Antigüedad: 16 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Bloquear campos en un formulario

analizando el codigo la idea seria mas que si selecciono la opcion si se me aclare los campos de abajo pero si selecciono la opcion no esos mismo campos sean gris como una una imagen y que el mismo no tuviera habilitados
  #10 (permalink)  
Antiguo 30/03/2010, 18:38
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Bloquear campos en un formulario

Hola de nuevo Konoyek,

Tienes que editar un poco el script que te escribi antes, jeje... tienes que pensar que:

1-En un principio desabilitados (gris) poniendo disabled a cada input.
2-Si se cambia el radio del "si/no" se ejecuta la funcion que te envie.
3-Cambiar la funcion que te envie eliminando el trozo de ocultar los fieldset, esta tirado.

Bueno...

Hasta pronto!... jeje... :D

Etiquetas: bloquear, campos, formulario
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 21:35.