Foros del Web » Programando para Internet » Javascript »

problema con validaciones

Estas en el tema de problema con validaciones en el foro de Javascript en Foros del Web. Hola a todos, creo que ya me atasque en esto. Estoy tratando de hacer una encuesta donde me solicitan ciertos lineamientos. Que cuando digan si, ...
  #1 (permalink)  
Antiguo 10/06/2011, 20:13
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 1 mes
Puntos: 4
Pregunta problema con validaciones

Hola a todos, creo que ya me atasque en esto. Estoy tratando de hacer una encuesta donde me solicitan ciertos lineamientos.
Que cuando digan si, se habiliten las otras respuestas pero que a su vez, solo puedan escoger una.
Luego en otras las clásicas, de si, no , otra; mencione.

Aquí les paso una imagen de la encuesta que estoy tratando de hacer. El detalle es que unas si funcionan y otras no. Pues la mayoría funciona con los famosos form, pero que pasa con el que mandará todo, es decir el form principal????

Ahora para acabarla , es para una encuesta en línea que está hecha en asp.

Please!! Help!!! como puedo hacer para que funcionen o que función en java puedo utilizar cuando son varios y diferentes en una misma página??

Mil gracias de antemano!!!

__________________
Lo que haces, determina lo que eres.
Saludos!
  #2 (permalink)  
Antiguo 11/06/2011, 16:19
Avatar de diegovazgonz  
Fecha de Ingreso: octubre-2010
Ubicación: Ourense
Mensajes: 184
Antigüedad: 13 años, 6 meses
Puntos: 11
Respuesta: problema con validaciones

si me das el codigo te lo intento hacer
  #3 (permalink)  
Antiguo 14/06/2011, 06:47
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 1 mes
Puntos: 4
Respuesta: problema con validaciones

Pues no hay gran ciencia, solo es eso apenas, cajas de texto, radiobuttons, checkbox, pero varios dentro de un mismo formulario.

Algo así:
Código HTML:
<tr>
    <td>&iquest;Vive con DM? </td>
    <td> 
	
	Si<input type="radio" name="ViveDM" value="0" onclick="document.exf12.disabled.value=0">
    No<input type="radio" name="ViveDM" value="1"> 
  <input type="hidden" name="disabled" value="0"></td>
    <td>&nbsp;</td>
  </tr>
<tr>
    <td>Tipo de DM:</td>
    <td><input name="d1" type="radio" value="DM1" />
      DM1
	  
	  </td>
    <td><input name="d2" type="radio" value="DM2"  />
      DM2</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input name="d3" type="radio" value="Gestacional" />
      Gestacional</td>
    <td><input name="d4" type="radio" value="Nose"  />
      No s&eacute; </td>
  </tr>
<tr>
    <td colspan="3">&iquest;Tiene familiares que viven con DM? 
	 <form name="exf1">
	 Si<input type="radio" name="dis" value="0" >
    No<input type="radio" name="dis" value="1" > 
  <input type="hidden" name="disabled" value="0"></p>
  
     <input type="checkbox" name="c1" value="hijo" >
    Hijo(a)
    <br>
    <input type="checkbox" name="c2" value="padre" >
  Padre<br>
  <input type="checkbox" name="c3" value="madre" >
  Madre<br>
  <input type="checkbox" name="c4" value="esposo" >
  Esposo(a)<br>
  <input type="checkbox" name="c5" value="abuelo" >
  Abuelo(a)<br>
</td>
  </tr>


y asi con lo demás...

Gracias de antemano......de todos modos sigo trabajando en ello.
__________________
Lo que haces, determina lo que eres.
Saludos!
  #4 (permalink)  
Antiguo 14/06/2011, 13:36
 
Fecha de Ingreso: junio-2011
Ubicación: venezuela
Mensajes: 25
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: problema con validaciones

viejo si me pasas tu correo te puedo enviar un archivo que tiene de eso.
  #5 (permalink)  
Antiguo 14/06/2011, 13:49
 
Fecha de Ingreso: junio-2011
Ubicación: venezuela
Mensajes: 25
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: problema con validaciones

<form id="form1" name="form1" method="post" action="">
<table width="804" height="60" border="1" align="center" cellpadding="0" cellspacing="3">
<tr>
<th colspan="2" scope="col"><blockquote>
<p><span class="style5">Condición Medica</span></p>
</blockquote></th>
</tr>
<tr>
<td width="162"><div align="right" class="style9">Sr(a)</div></td>
<td width="636"><div align="center"><?php echo $noma." ".$apea; ?></div></td>
</tr>
</table>
<table width="804" border="1" align="center" cellpadding="0" cellspacing="3">
<tr>
<th width="164" scope="col"><div align="right" class="style8">Se vale por si Mismo(a)</div></th>
<th width="331" scope="col"><label>
<input type="radio" name="valencia" value="Si" id="valencia_0" />
Si</label>
<br />
<label></label></th>
<th width="301" scope="col"><label>
<input type="radio" name="valencia" value="No" id="valencia_1" />
No</label></th>
</tr>
</table>
<table width="804" height="24" border="1" align="center" cellpadding="0" cellspacing="3">
<tr>
<th width="162" scope="col"><div align="right" class="style8">Condición Motora</div></th>
<th width="313" scope="col"><div align="justify"> Apoyo Ortopedico:
<label></label>
<input type="radio" name="apoyo" value="Si" id="apoyo_0" onclick="makeEnable()" />
<label>Si</label>
<label>
<input type="radio" name="apoyo" value="No" id="apoyo_1" onclick="makeDisable()" />
No</label>
</div></th>
<th width="309" scope="col"><div align="left">
<label>
<select name="tipo" size="1" disabled="disabled" id="tipo">
<option value="Seleccionar...">Seleccionar...</option>
<option value="Baston">Baston</option>
<option value="Andadera">Andadera</option>
<option value="Silla de Rueda Clinica">Silla de Rueda Clinica</option>
<option value="Silla de Rueda Ortopedica">Silla de Rueda Ortopedica</option>
<option value="Muletas Auxiliares">Muletas Auxiliares</option>
<option value="Muletas Canadiense">Muletas Canadiense</option>
</select>
</label>
</div></th>
</tr>
</table>
<table width="804" border="1" align="center" cellpadding="0" cellspacing="3">
<tr>
<th width="165" scope="col"><div align="right" class="style8">Cardiovascular</div></th>
<th width="226" scope="col"><label>
<input type="radio" name="cardio" value="Infarto Miocardio" id="cardio_0" onclick="comprobar(this)" />
Infarto Miocardio</label></th>
<th width="198" scope="col"><label>
<input type="radio" name="cardio" value="Hipertension Arterial" id="cardio_1" onclick="comprobar(this)" />
Hipertensión Arterial</label></th>
<th width="205" scope="col"><label>
<input type="radio" name="cardio" value="Ac. Cerebro Vascular" id="cardio_2" onclick="comprobar(this)" />
Ac. Cerebro Vascular</label></th>
</tr>
</table>
<table width="804" border="1" align="center" cellpadding="0" cellspacing="3">
<tr>
<th width="165" scope="col"><div align="right" class="style8">Cognitiva</div></th>
<th width="183" scope="col"><label>
<input type="radio" name="cognitiva" value="Compromiso Bajo" id="cognitiva_0" onclick="makeEnable2 ()" />
Compromiso Bajo</label></th>
<th width="167" scope="col"><p>
<label>
<input type="radio" name="cognitiva" value="Compromiso Alto" id="cognitiva_1" onclick="makeEnable2 ()" />
Compromiso Alto</label>
</p>
<label></label></th>
<th width="279" scope="col"><div align="justify">Especifique:
<label></label>
<label>
<input name="anny" type="text" disabled="disabled" id="anny" value="<?php echo $anny; ?>" />
</label>
</div></th>
</tr>
</table>
<table width="804" border="1" align="center" cellpadding="0" cellspacing="3">
<tr>
<th width="160" scope="col"><div align="right" class="style8">Visual</div></th>
<th width="166" scope="col"><label>
<input type="radio" name="discapacidad" value="Discapacidad Total" id="discapacidad_0" onclick="makeEnable3 ()"/>
Discapacidad Total</label></th>
<th width="147" scope="col"><div align="justify">Bastón:
<label>
<input name="baston" type="radio" disabled="disabled" id="baston_0" value="Si" />
Si</label>
<label>
<input name="baston" type="radio" disabled="disabled" id="baston_1" value="No" />
No</label>
</div></th>
<th width="164" scope="col"><div align="justify">
<label>
<input type="radio" name="discapacidad" value="Discapacidad Parcial" id="discapacidad_1" onclick="makeEnable4 ()" />
Discapacidad Parcial</label>
</div></th>
<th width="137" scope="col"><div align="justify">Lentes
<label>
<input name="lentes" type="radio" disabled="disabled" id="lentes_0" value="Si" />
Si</label>
<label>
<input name="lentes" type="radio" disabled="disabled" id="lentes_1" value="No" />
No</label>
</div></th>
</tr>
</table>
<table width="804" border="1" align="center" cellpadding="0" cellspacing="3">
<tr>
<th width="164" scope="col"><div align="right" class="style8">Auditiva</div></th>
<th width="161" scope="col"><div align="justify">
<label>
<input type="radio" name="auditiva" value="Discapacidad Total" id="auditiva_0" onclick="makeEnable5()" />
Discapacidad Total</label>
</div></th>
<th width="181" scope="col"><div align="justify">
<label>
<input type="radio" name="auditiva" value="Discapacidad Parcial" id="auditiva_1" onclick="makeEnable5()" />
Discapacidad Parcial</label>
</div></th>
<th width="288" scope="col"><div align="justify">Protesis:
<label>
<input name="protesis" type="radio" disabled="disabled" id="protesis_0" value="Si" />
Si</label>
<label>
<input name="protesis" type="radio" disabled="disabled" id="protesis_1" value="No" />
No</label>
</div></th>

<script type= "text/javascript" >
//validacion de Radio Button
var aux= new Array();

function comprobar(rad) {
var group= rad.name;
var val= rad.value;
if(!aux[group]) {
aux[group]= val;
} else {
if (aux[group]==val) {
aux[group]=false;
rad.checked=false;
} else {
aux[group]=val;
}
}
}
function makeDisable (){
var x=document.getElementById ( "tipo" )
x.disabled= true
}
function makeEnable (){
var x=document.getElementById ( "tipo" )
x.disabled= false
}
function makeEnable2 (){
var y=document.getElementById ( "anny" )
y.disabled= false
}
function makeEnable3 (){
var a=document.getElementById ( "baston_0" )
a.disabled= false
var b=document.getElementById ( "baston_1" )
b.disabled= false
var c=document.getElementById ( "lentes_0" )
c.disabled= true
c.checked=false
var d=document.getElementById ( "lentes_1" )
d.disabled= true
d.checked=false

}
function makeEnable4 (){
var a=document.getElementById ( "baston_0" )
a.disabled= true
a.checked=false
var b=document.getElementById ( "baston_1" )
b.disabled= true
b.checked=false
var c=document.getElementById ( "lentes_0" )
c.disabled= false
var d=document.getElementById ( "lentes_1" )
d.disabled= false

}
function makeEnable5 (){
var a=document.getElementById ( "protesis_0" )
a.disabled= false
var b=document.getElementById ( "protesis_1" )
b.disabled= false

}


</script>
  #6 (permalink)  
Antiguo 14/06/2011, 13:50
 
Fecha de Ingreso: junio-2011
Ubicación: venezuela
Mensajes: 25
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: problema con validaciones

mira aver si te sierve este codigo.
  #7 (permalink)  
Antiguo 15/06/2011, 11:26
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 1 mes
Puntos: 4
Respuesta: problema con validaciones

Gracias!! voy a probarlo ahora!!
__________________
Lo que haces, determina lo que eres.
Saludos!
  #8 (permalink)  
Antiguo 15/06/2011, 11:35
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 1 mes
Puntos: 4
Respuesta: problema con validaciones

Al pelo!!!! funciona de maravilla!!!

Oye y como puedo hacerle en el caso de que la respuesta tenga varias. Por ejemplo:
¿Tiene familiares con DM? si / no
Si dice si, tiene la opción de poner la respuesta, pero puede que sea uno, varios o todos, ahi como uso las cajas de checkbox????? Gracias!!!
__________________
Lo que haces, determina lo que eres.
Saludos!
  #9 (permalink)  
Antiguo 15/06/2011, 14:00
 
Fecha de Ingreso: junio-2011
Ubicación: venezuela
Mensajes: 25
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: problema con validaciones

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<label> Vives con tu Familia<br />
</label>
<p>
<label>
<input type="radio" name="si" value="1" id="RadioGroup1_0" onclick="Si()"/>
si</label>
<br />
<label>
<input type="radio" name="no" value="2" id="RadioGroup1_1" onclick="No()"/>
no</label>
<br />
</p>
<label></label>
<p>
<label>Mama
<input type="checkbox" name="mama" id="mama" disabled="disabled"/>
</label>
<label>
<input type="checkbox" name="amigos" id="amigos" disabled="disabled"/>
amigos</label>
</p>
<p>papa
<label>
<input type="checkbox" name="papa" id="papa" disabled="disabled"/>
</label>
<label>
<input type="checkbox" name="otros" id="otros" disabled="disabled"/>
otros</label>
</p>
<p>Hijos
<label>
<input type="checkbox" name="hijos" id="hijos" disabled="disabled"/>
</label>
</p>
</form>
</body>
</html>
<script>
var m=document.getElementById ( "mama" )
var p=document.getElementById ( "papa" )
var h=document.getElementById ( "hijos" )
var a=document.getElementById ( "amigos" )
var o=document.getElementById ( "otros" )
function Si()
{
m.disabled= false
p.disabled= false
h.disabled= false
a.disabled= true
o.disabled= true
a.checked=false
o.checked=false

}
function No()
{
m.disabled= true
p.disabled= true
h.disabled= true
a.disabled= false
o.disabled= false
m.checked=false
p.checked=false
h.checked=false

}
</script>
Te hice este codigo, para que lo mires esta funcionando
si seleccionas si se activan mama, padre,hijos
si seleccionas no se activan amigos otros, extios
NO SE TE OLVIDE DARLE PUNTOS A LOS COMENTARIOS.
  #10 (permalink)  
Antiguo 15/06/2011, 14:02
 
Fecha de Ingreso: junio-2011
Ubicación: venezuela
Mensajes: 25
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: problema con validaciones

cualquier cosa me comentas. y te ayudo
  #11 (permalink)  
Antiguo 16/06/2011, 08:17
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 5 meses
Puntos: 56
Respuesta: problema con validaciones

Código PHP:
<form name="formularioDM">
<
table>
<
tr>
    <
td>&iquest;Vive con DM? </td>
    <
td>
    <
span id="ViveDM" rel="d1,dis,c1,c2,c3,c4,c5">
    
Si<input type="radio" name="ViveDM" value="0">
    
No<input type="radio" name="ViveDM" value="1" checked="1"
    </
span>
    </
td>
    <
td>&nbsp;</td>
</
tr>
<
tr>
    <
td>Tipo de DM:</td>
    <
td><input name="d1" type="radio" value="DM1" />
      
DM1
      
      
</td>
    <
td><input name="d1" type="radio" value="DM2"  />
      
DM2</td>
</
tr>
<
tr>
    <
td>&nbsp;</td>
    <
td><input name="d1" type="radio" value="Gestacional" />
      
Gestacional</td>
    <
td><input name="d1" type="radio" value="Nose"  />
      
No s&eacute; </td>
</
tr>
<
tr>
    <
td colspan="3">&iquest;Tiene familiares que viven con DM
    <
span id="Fams" rel="c1,c2,c3,c4,c5">
    
Si<input type="radio" name="dis" value="0" >
    
No<input type="radio" name="dis" value="1" checked="1"
    </
span>
    <
br>
    <
input type="checkbox" name="c1" value="hijo" >
    
Hijo(a)
    <
br>
    <
input type="checkbox" name="c2" value="padre" >
      
Padre<br>
    <
input type="checkbox" name="c3" value="madre" >
    
Madre<br>
    <
input type="checkbox" name="c4" value="esposo" >
    
Esposo(a)<br>
    <
input type="checkbox" name="c5" value="abuelo" >
      
Abuelo(a)<br>
    <
input type="checkbox" name="other" value="other" title="Otros" > <input type="text" name="c6" size="12" >
    </
td>
 </
tr>
</
table>
</
form>

<
script>
(function(
form){
    var 
documentd[form], f.elementsix
    
var inArray = function(e,a) {for(i=0;i<a.length;i++){if(a[i]===e){return i}}return -1}
    var 
Inputs    = function(e){return e.getElementsByTagName('input')}
    var 
Get        = function(id){return d.getElementById(id)}
    var 
onOff    = function(s,dis){
        
s.split(/,/g//Convertir en array los elementos del primer parámetro
        
for(x=0;x<g.length;x++){
            if(
inArray(g[x].name,s) > -1g[x].disabled = !dis // Habilitar/Deshabilitar
        
}
    }
        
    
Get("ViveDM").onclick = function(){ //¿Vive con DM? Si/No
        
onOff('d1,dis',Inputs(this)[0].checked//habilitar Tipo DM / Familiares con DM
        
onOff('c1,c2,c3,c4,c5,c6,other',Inputs(this)[0].checked && Inputs(Get("Fams"))[0].checked//habilitar cuadros Familiares SI el Check familiares esta en "Si"
    
}
    
Get("Fams").onclick = function(){ //¿Tiene familiares que viven con DM? Si/No
        
onOff('c1,c2,c3,c4,c5,other',Inputs(this)[0].checked)
        
onOff('c6',Inputs(this)[0].checked && f.other.checked)
    }
    
f.other.onclick = function(){ //habilitar cuadro "otros" de Familiares
            
onOff('c6',this.checked
    }
    
    
onOff('d1,dis,c1,c2,c3,c4,c5,c6,other',false// deshabilitar todo

})("formularioDM"// nombre formulario
</script> 
En el código te explico como funciona y es mas corto, claro, si quieres una modificación me avisas. Un saludo.
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #12 (permalink)  
Antiguo 17/06/2011, 08:22
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 1 mes
Puntos: 4
De acuerdo Respuesta: problema con validaciones

Eres masterrrrrrrrrrrrr, funciona super bien!!!

Muchísimas gracias!!!
__________________
Lo que haces, determina lo que eres.
Saludos!

Etiquetas: validar
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 06:19.