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.