Foros del Web » Programando para Internet » Javascript »

ayuda grupo checkbox

Estas en el tema de ayuda grupo checkbox en el foro de Javascript en Foros del Web. tengo un problema con unos checkbox lo que quiero hacer es que se limite a seleccionar solo 2 el formulario lo estoy haciendo en php ...
  #1 (permalink)  
Antiguo 21/05/2009, 13:09
Avatar de scriptronic  
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 15 años
Puntos: 0
ayuda grupo checkbox

tengo un problema con unos checkbox lo que quiero hacer es que se limite a seleccionar solo 2 el formulario lo estoy haciendo en php y mysql, el problema radica en que cuando quiero hacer que se deseleccione el ultimo seleccionado pero no lo hace pongo parte del codigo para que me entiendan graxias

function alertaValue(){
var cont = 0

check=document.getElementsByTagName("input");
for(i=0;i<check.length;i++)
{
if(check[i].type == "checkbox")
{
if(check[i].checked == true)
{
cont++
//alert("seleccionado "+check[i].value)
check[i].disabled=true
if(cont > 2){
lastchecked(check[i].id)
alert("hay "+cont+" seleccionados no es posible seleccionar mas ")
}
}
else
{
}
}
}
}

function lastchecked(id)
{
x=document.getElementById(id);

x.checked=false;
x.disabled=false;
alert(x.value);
}
echo'<form action="insertadir.php" method="post" name="form">
<table><tr><td class="msg">Número de empleado</td><td> <input type="text" name="numem" class="campo"></td></tr>';
echo '<tr><td class="msg">Nombre</td><td> <input type="text" name="nombre" class="campo"></td></tr>';
echo '<tr><td class="msg">Apellido paterno</td><td> <input type="text" name="apat" class="campo"></td></tr>';
echo '<tr><td class="msg">Apellido materno</td><td> <input type="text" name="amat" class="campo"></td></tr>';
echo '<tr><td class="msg">Area de adscripción</td> ';

//consulta para llenar el combo
$query=("SELECT * FROM carrera" );
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
//Llenas el combo
echo'<td>';
while($row = mysql_fetch_array($result))
{
echo "<INPUT type='checkbox' name='{$row['idcarrera']}' value='{$row['carrera']}' id='{$row['idcarrera']}' onClick='alertaValue()'>{$row['carrera']}";
}
echo'</select></td></tr>


<tr><td colspan="2"><input type="submit" value="Enviar"><input type="reset" value="cancelar"></td></tr></table></form>';

Última edición por scriptronic; 21/05/2009 a las 13:24
  #2 (permalink)  
Antiguo 21/05/2009, 13:32
Avatar de rudy69  
Fecha de Ingreso: octubre-2008
Ubicación: espndeportes.com
Mensajes: 195
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: ayuda grupo checkbox

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" language="javascript">
function maxCheck() {
	var contar = 0;
	var i=0;
	for(i=0; i<document.form.checkbox.length; i++) {
		if(document.form.checkbox[i].checked) {
			contar=contar+1;
		}
		
		if(contar>2) {
			alert('has seleccionado mas de dos');
			return false;
		}
	}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form name="form">
<input name="checkbox" type="checkbox" onclick="return maxCheck()" value="1" />
<input name="checkbox" type="checkbox" onclick="return maxCheck()" value="2" />
<input name="checkbox" type="checkbox" onclick="return maxCheck()" value="3" />
<input name="checkbox" type="checkbox" onclick="return maxCheck()" value="4" />
<input name="checkbox" type="checkbox" onclick="return maxCheck()" value="5" />
<input name="checkbox" type="checkbox" onclick="return maxCheck()" value="6" />
<input name="checkbox" type="checkbox" onclick="return maxCheck()" value="7" />
<input name="checkbox" type="checkbox" onclick="return maxCheck()" value="8" />
</form>
</body>
</html> 
A ver si esto te ayuda, no permite checar mas de dos :P
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 07:08.