Foros del Web » Programando para Internet » Javascript »

Validación campos

Estas en el tema de Validación campos en el foro de Javascript en Foros del Web. Hola a todos, estoy terminando de validar un formulario enorme, mi problema viene cuando tengo un grupo de radio buttons y quiero validar si se ...
  #1 (permalink)  
Antiguo 25/10/2006, 08:25
 
Fecha de Ingreso: mayo-2005
Ubicación: Castellón
Mensajes: 321
Antigüedad: 19 años
Puntos: 0
Validación campos

Hola a todos, estoy terminando de validar un formulario enorme, mi problema viene cuando tengo un grupo de radio buttons y quiero validar si se ha chequeado alguno de ellos, para posteriormente guardarme el valor un una base de datos. Mi codigo para validarlo es el siguiente:

if (document.form2.mercado.checked <> true){
errorMsg += "\n - Debe elegir su tipo de mercado";
}


En donde form2 es el nombre del formulario y mercado es el nombre de los radiobuttons. Estos los tengo puestos así:

<td width="627" colspan="3" bordercolor="#FFFFFF">
<label>
<input type="radio" name="mercado" value="Local" <? if ($row[mercado]=="Local"){ echo "checked"; }?>>
Local</label>
<label>
<input type="radio" name="mercado" value="Autonómico" <? if ($row[mercado]=="Autonómico"){ echo "checked"; }?>>
Autonómico</label>
<label>
<input type="radio" name="mercado" value="Nacional" <? if ($row[mercado]=="Nacional"){ echo "checked"; }?>>
Nacional</label>
<label>
<input type="radio" name="mercado" value="Internacional" <? if ($row[mercado]=="Internacional"){ echo "checked"; }?>>
Internacional</label>
</td>


No veo el error en ningún sitio, me podeis ayudar??? Ahh! tengo el mismo problema con un combo, en la validación pongo esto:


<select name="sector" type="text" id="sector">
<option<?
if ($row[sector] ==""){
echo " selected";
}
?>
></option>
<option<?
if ($row[sector] =="ALIMENTACIÓN"){
echo " selected";
}
?>
>ALIMENTACIÓN</option>
<option<?
if ($row[sector] =="BEBIDAS ALCOHÓLICAS, TABACO Y ACCESORIOS"){
echo " selected";
}
?>>BEBIDAS ALCOHÓLICAS, TABACO Y ACCESORIOS</option>
<option<?
if ($row[sector] =="BEBIDAS NO ALCOHÓLICAS"){
echo " selected";
}
?>>BEBIDAS NO ALCOHÓLICAS</option>
<option<?
if ($row[sector] =="AUTOMOCIÓN Y RELACIONADOS"){
echo " selected";
}
?>>AUTOMOCIÓN Y RELACIONADOS</option>
<option<?
if ($row[sector] =="TURISMO,OCIO Y HOSTELERÍA"){
echo " selected";
}
?>>TURISMO,OCIO Y HOSTELERÍA</option>
<option<?
if ($row[sector] =="INFORMÁTICA Y ELECTRÓNICA DE CONSUMO"){
echo " selected";
}
?>>INFORMÁTICA Y ELECTRÓNICA DE CONSUMO</option>
<option<?
if ($row[sector] =="ELECTRODOMÉSTICOS Y TELEFONÍA"){
echo " selected";
}
?>>ELECTRODOMÉSTICOS Y TELEFONÍA</option>
<option<?
if ($row[sector] =="DISTRIBUCIÓN EQUIPAMIENTO PARA EL HOGAR"){
echo " selected";
}
?>>DISTRIBUCIÓN EQUIPAMIENTO PARA EL HOGAR</option>
<option<?
if ($row[sector] =="DISTRIBUCIÓN GENERALISTA"){
echo " selected";
}
?>>DISTRIBUCIÓN GENERALISTA</option>
<option<?
if ($row[sector] =="TEXTIL, CONFECCIÓN Y COMPLEMENTOS"){
echo " selected";
}
?>>TEXTIL, CONFECCIÓN Y COMPLEMENTOS</option>
<option<?
if ($row[sector] =="JOYERÍA"){
echo " selected";
}
?>>JOYERÍA</option>
<option<?
if ($row[sector] =="CALZADO"){
echo " selected";
}
?>>CALZADO</option>
<option<?
if ($row[sector] =="JUGUETES"){
echo " selected";
}
?>>JUGUETES</option>
<option<?
if ($row[sector] =="CERÁMICA"){
echo " selected";
}
?>>CERÁMICA</option>
<option<?
if ($row[sector] =="COMERCIALES ÓPTICAS Y FARMACÉUTICAS"){
echo " selected";
}
?>>COMERCIALES ÓPTICAS Y FARMACÉUTICAS</option>
<option<?
if ($row[sector] =="DROGUERÍA - PERFUMERÍA"){
echo " selected";
}
?>>DROGUERÍA - PERFUMERÍA</option>
<option<?
if ($row[sector] =="COMUNICACIÓN Y SERVICIOS"){
echo " selected";
}
?>>COMUNICACIÓN Y SERVICIOS</option>
<option<?
if ($row[sector] =="BANCARIO"){
echo " selected";
}
?>>BANCARIO</option>
<option<?
if ($row[sector] =="ENERGÍA, GAS Y/O AGUA"){
echo " selected";
}
?>>ENERGÍA , GAS Y/O AGUA</option>
<option<?
if ($row[sector] =="SERVICIOS DE TRANSPORTE"){
echo " selected";
}
?>>SERVICIOS DE TRANSPORTE</option>
<option<?
if ($row[sector] =="INSTITUCIONES SIN ÁNIMO DE LUCRO"){
echo " selected";
}
?>>INSTITUCIONES SIN ÁNIMO DE LUCRO</option>
<option<?
if ($row[sector] =="CONSTRUCCIÓN E INMOBILIARIAS"){
echo " selected";
}
?>>CONSTRUCCIÓN E INMOBILIARIAS</option>
<option<?
if ($row[sector] =="MATERIALES CONSTRUCCIÓN Y CEMENTO"){
echo " selected";
}
?>>MATERIALES CONSTRUCCIÓN Y CEMENTO</option>
<option<?
if ($row[sector] =="ASISTENCIA SANITARIA"){
echo " selected";
}
?>>ASISTENCIA SANITARIA</option>
<option<?
if ($row[sector] =="CONSULTORÍA / AUDITORÍA"){
echo " selected";
}
?>>CONSULTORÍA / AUDITORÍA</option>
</select>


Espero que me puedan ayudan
  #2 (permalink)  
Antiguo 25/10/2006, 08:38
 
Fecha de Ingreso: febrero-2006
Mensajes: 56
Antigüedad: 18 años, 3 meses
Puntos: 0
cambia el <>

Tarat a cambiando el <> del javascript por el !=, tlavez se a eso.
  #3 (permalink)  
Antiguo 25/10/2006, 08:41
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 10 meses
Puntos: 125
Operadores de comparación en Javascript:
Operadores de Comparación
  #4 (permalink)  
Antiguo 25/10/2006, 08:51
 
Fecha de Ingreso: mayo-2005
Ubicación: Castellón
Mensajes: 321
Antigüedad: 19 años
Puntos: 0
Hola Oscar, he probado con esto y no me funciona ya que tengo varios radiobuttons con el mismo nombre y como no los tengo todos seleccionados me sale el error...
  #5 (permalink)  
Antiguo 25/10/2006, 09:08
 
Fecha de Ingreso: mayo-2005
Ubicación: Castellón
Mensajes: 321
Antigüedad: 19 años
Puntos: 0
Solucionado!!!!!

if (!document.form2.mercado[0].checked&&!document.form2.mercado[1].checked&&!document.form2.mercado[2].checked&&!document.form2.mercado[3].checked){
errorMsg += "\n - Debe introducir su tipo de mercado";
}


Saludos!
  #6 (permalink)  
Antiguo 25/10/2006, 09:31
 
Fecha de Ingreso: febrero-2006
Mensajes: 56
Antigüedad: 18 años, 3 meses
Puntos: 0
codigo

<html>
<head>
<script>
function enviar()
{

var con=0;
var bandera=0;
var d=document.eduardo.length;

for(i=0;i<d;i++)
{
if(document.eduardo.elements[i].type=="radio")
{
con=con+1;
}
}

for(j=0;j<5;j++)
{
if(document.eduardo.oscar[j].checked==true)
{
bandera=1;

}

}
if(bandera!=1)
{
alert("Seleccione alguna opcion");
}

if(bandera==1)
{
document.forms["eduardo"].submit();

}
}
</script>
</head>
<body>
<form name=eduardo>
<input type="radio" name=oscar id=oscar value="1">
<input type="radio" name=oscar id=oscar value="2">
<input type="radio" name=oscar id=oscar value="3">
<input type="radio" name=oscar id=oscar value="4">
<input type="radio" name=oscar id=oscar value="5">
<input type=text name=1 id=1 value="">
<input type=button name=2 id=2 value=Enviar onclick=enviar();>
</form>
</body>
</html>

esto te puede servir
  #7 (permalink)  
Antiguo 25/10/2006, 09:32
 
Fecha de Ingreso: febrero-2006
Mensajes: 56
Antigüedad: 18 años, 3 meses
Puntos: 0
solucion dinamica

La solucion anteiro te sirven para cualquier cantidad de radios..saludos
  #8 (permalink)  
Antiguo 25/10/2006, 09:33
 
Fecha de Ingreso: febrero-2006
Mensajes: 56
Antigüedad: 18 años, 3 meses
Puntos: 0
correcion

<html>
<head>
<script>
function enviar()
{

var con=0;
var bandera=0;
var d=document.eduardo.length;

for(i=0;i<d;i++)
{
if(document.eduardo.elements[i].type=="radio")
{
con=con+1;
}
}

for(j=0;j<con;j++)
{
if(document.eduardo.oscar[j].checked==true)
{
bandera=1;

}

}
if(bandera!=1)
{
alert("Seleccione alguna opcion");
}

if(bandera==1)
{
document.forms["eduardo"].submit();

}
}
</script>
</head>
<body>
<form name=eduardo>
<input type="radio" name=oscar id=oscar value="1">
<input type="radio" name=oscar id=oscar value="2">
<input type="radio" name=oscar id=oscar value="3">
<input type="radio" name=oscar id=oscar value="4">
<input type="radio" name=oscar id=oscar value="5">
<input type=text name=1 id=1 value="">
<input type=button name=2 id=2 value=Enviar onclick=enviar();>
</form>
</body>
</html>
  #9 (permalink)  
Antiguo 25/10/2006, 09:38
 
Fecha de Ingreso: mayo-2005
Ubicación: Castellón
Mensajes: 321
Antigüedad: 19 años
Puntos: 0
Perdona Oscar, sólo me queda la validación de un combo. Mi código es este... pero no va!!!


if (document.form2.sector.value.length==""){
errorMsg += "\n - Debe elegir su sector y actividad";
}


Me puedes ayudar??? Gracias!!!!!!!!!!!!
  #10 (permalink)  
Antiguo 25/10/2006, 10:06
 
Fecha de Ingreso: febrero-2006
Mensajes: 56
Antigüedad: 18 años, 3 meses
Puntos: 0
combos

Los combos poseen un id unico para q podamos validarlos
si a lo q te refieres es a un select par avañlidarlos seria lo siguiente
<script>
funcion validar()
{
if(document.getElementById("oscar").value=="")
{
alert("vacio");
}

}
</script>

<select name=oscar id=oscar>
<option value="">Seleecione</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<input type=button onclick=validar();>
chao
  #11 (permalink)  
Antiguo 25/10/2006, 10:50
 
Fecha de Ingreso: mayo-2005
Ubicación: Castellón
Mensajes: 321
Antigüedad: 19 años
Puntos: 0
Lo siento Oscar... pero no me aclaro!!! Yo y el Javascript somos incompatibles!!!

Le he puesto tu codigo y no me va, creo que es porque está dentro de un formulario, entonces le he puesto esto pero tampoco me engancha:

if(document.form2.getElementById("sector").value== "")
{
errorMsg += "\n - Debe elegir su sector y actividad";
}


Sólo me queda este campo por validar....

Gracias!
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 15:16.