Hola a tod@s, estoy intentando usar este código que he encontrado en las faqs, pero no consigo que funcione. Lo que quiero es que el usuario no pueda seleccionar más de 5 checkbox de un formulario. Este formulario se crea mediante una asp sacando los datos de una base de datos. Os dejo el código que tengo por ahora
Esto está en el head:
Código PHP:
<head>
<title>Untitled Document</title>
<script>
function countChoices(obj) {
max = 5; // max. number allowed at a time
a = obj.form.PollVote[1].checked; // your checkboxes here
b = obj.form.PollVote[2].checked; // your checkboxes here
c = obj.form.PollVote[3].checked; // your checkboxes here
d = obj.form.PollVote[4].checked; // your checkboxes here
e = obj.form.PollVote[5].checked; // your checkboxes here
// add more if necessary
count = (a ? 1 : 0) + (b ? 1 : 0) + (c ? 1 : 0) + (d ? 1 : 0) + (e ? 1 : 0);
// If you have more checkboxes on your form
// add more (box_ ? 1 : 0) 's separated by '+'
if (count > max) {
alert("Atencion! Solo puede seleccionar " + max + " opcion! \Quite una de ellas si quiere seleccionar otra.");
obj.checked = false;
}
}
</script>
Y esto es el formulario:
Código PHP:
<form name="form" method="post" action="">
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td> </td>
<td>
<div align="center">Marca</div>
</td>
<td>
<div align="center">Procesador</div>
</td>
<td>
<div align="center">Memoria (Mb)</div>
</td>
<td>
<div align="center">Disco Duro (Gb)</div>
</td>
<td>
<div align="center">Sistema Operativo</div>
</td>
<td>
<div align="center">Monitor</div>
</td>
</tr>
<%
While ((Repeat1__numRows <> 0) AND (NOT Ordenadores.EOF))
%>
<tr>
<td>
<div align="center">
<input type="checkbox" value="1" name="PollVote" onClick="countChoices(this)">
</div>
</td>
<td><%=(Ordenadores.Fields.Item("Marca").Value)%></td>
<td><%=(Ordenadores.Fields.Item("Procesador").Value)%></td>
<td><%=(Ordenadores.Fields.Item("Memoria").Value)%></td>
<td><%=(Ordenadores.Fields.Item("Disco_Duro").Value)%></td>
<td><%=(Ordenadores.Fields.Item("Sistema_Operativo").Value)%></td>
<td><%=(Ordenadores.Fields.Item("Monitor").Value)%></td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
Ordenadores.MoveNext()
Wend
%>
</table>
</form>
Espero que alguien pueda darme una solución, muchas gracias.
Salu2