Buenas Tardes Nuevamente a todos.
Este post se refiere a los colores (parecido a de las tallas).
Estoy haciendo una funcion para validar que al menos un checkbox este marcado, caso contrario me arroje un mensaje con el alert. El codigo es el siguiente:
Código HTML:
<form action="ventas.php?a=pack_actualizar" onsubmit="return verificar_tallas_colores()" name="frm_pack_cantidad" id="frm_pack_cantidad" method="post">
<table width="300" border="0" cellspacing="0" cellpadding="0" align="center" id="divs_colores">
<tr>
<? while ($colores = $bd->bbdd_fetch($EJECT_colores)){
$SQL_color_descripcion = "SELECT * FROM colores WHERE id= '$colores[id_color]' ";
$EJECT_color_descripcion = $bd->bbdd_query($SQL_color_descripcion);
$descripcion_color = $bd->bbdd_result($EJECT_color_descripcion,0,'descripcion');
?>
<td><input name="colores[]" type="checkbox" value="<?=$colores["id_color"]?>" ><div align="center"><?=$descripcion_color?></div></td>
<? } ?>
</tr>
</table>
</form>
y en la funcion verificar_tallas_colores() es:
Código:
function verificar_tallas_colores(){
var xx = 0;
var cantid = 0;
cantid = document.forms['frm_pack_cantidad']['colores[]'].length;
for ( var y=0; y < cantid; y++) {
if (document.forms['frm_pack_cantidad']['colores[]'][y].checked) {
xx = xx + 1;
}
}
if (xx == 0){
alert('¡Seleccione al menos un COLOR');
return false;
}
return true;
}
En el form del archivo php puede arrojar como resultado un color como varios colores, EL PROBLEMA ES CUANDO LA PRENDA TIENE UN COLOR, por mas que lo marque me envia el mensaje del alert('¡Seleccione al menos un COLOR'); pero cuando la consulta arroja dos o mas resultados ; me va bien, es decir si por ejemplo la consulta arroja 3 colores y marco 1 o 2 o los 3 checkbox alli es correcto(puedo marcar como minimo 1 dejando libre el resto).
No sé donde puede estar el error, en la funcion de javascript.
Gracias y saludos a todos