JSP (Java Server Page) - validar checkbox

 
Vista:

validar checkbox

Publicado por yeyo (26 intervenciones) el 16/05/2007 19:16:17
Hola a todos. Tengo un formulario con una serie de checkbox entre dos etiquetas <logic:iterate>:

<html:form action="/asociarVehiculosPromocion.do?tipo=vehicpromo&tipo_vehic=catalogo&tipo_promo=descuento" onsubmit="javascript:return validar_formulario(this);">
...

<logic:iterate name="vehiculoList" id="vehiculo" scope="request" type="concesionario.entidades.Vehiculo">

<input type="checkbox" name="asociar_vehiculo" value="<bean:write name="vehiculo" property="cod_vehiculo"/>" />
<bean:write name="vehiculo" property="marca"/>
<bean:write name="vehiculo" property="modelo"/>
<bean:write name="vehiculo" property="version"/>
<bean:write name="vehiculo" property="acabado"/>

</logic:iterate>

Tengo el siguiente código javascript para que se muestre un mensaje de error en caso de que no se seleccione ninguna opción:

<SCRIPT LANGUAGE="JavaScript">
function validar_formulario(formulario)
{
num=0;
for(i=0; ele=formulario.asociar_vehiculo[i]; ++i)
{
if (ele.type=='checkbox' && ele.checked)
{
num++
}
}

if (num == 0)
{
alert("HOLA" + num);
return false;
}

formulario.submit();
}
</SCRIPT>

El problema es que cuando solo tengo un elemento en la lista el num se queda a cero aunque el element este este marcado y sale el error, como si no hubiera marcado nada. No sé que puede estar mal. Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:validar checkbox

Publicado por bego (17 intervenciones) el 17/05/2007 09:25:41
A ver... por que no pruebas así??

<div id = "divChecks">
<logic:iterate name="vehiculoList" id="vehiculo" scope="request" type="concesionario.entidades.Vehiculo">

<input type="checkbox" name="asociar_vehiculo" value="<bean:write name="vehiculo" property="cod_vehiculo"/>" />
<bean:write name="vehiculo" property="marca"/>
<bean:write name="vehiculo" property="modelo"/>
<bean:write name="vehiculo" property="version"/>
<bean:write name="vehiculo" property="acabado"/>

</logic:iterate>
</div>

y el código javascript así :

<script type="text/javascript">
function validar_formulario(formulario)
{
divs = document.getElementById('divChecks');
checks = divs.getElementsByTagName('input');

num=0;
for(var i=0; i<checks.length;i++)
{
if (checks[i].type=='checkbox' && checks[i].checked)
{
num++
}
}

if (num == 0)
{
alert("HOLA" + num);
return false;
}
else{
formulario.submit();
}

}
</script>

bueno yeyo, ya nos cuentas que tal te ha ido..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar checkbox

Publicado por yeyo (26 intervenciones) el 17/05/2007 13:36:06
Gracias bego, todo ok. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar