Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/03/2010, 19:45
Megcapkill
 
Fecha de Ingreso: abril-2007
Ubicación: Tandil, Bs As, Argentina
Mensajes: 106
Antigüedad: 17 años, 7 meses
Puntos: 2
OnClick: Cambiar el valor de un arreglo

Hola amigos.. hice un codigo muy simple que tiene unos checkboxes..

La idea es la siguiente: cada checkbox esta hecho asi

Código PHP:
<?php $todas mysql_query("SELECT IdDiferencia, Diferencia FROM DeDiferencias ORDER BY Diferencia") or die (mysql_error());
    
$cReg mysql_num_rows ($todas);
    
$busca mysql_query("SELECT IdDiferencia FROM Diferencias WHERE Diferencias.IdEstudiante = '$idBusca'") or die (mysql_error());
    
$cantRegistros mysql_num_rows ($busca);
    
// Para cada una de las posibles diferencias cargadas
    
for ($j 0$j $cReg$j++) {
        
$lineas mysql_fetch_assoc($todas);
        
$dif $lineas["Diferencia"];
        
$iddif $lineas["IdDiferencia"];
        
$si 0;
        
// Reviso cada una de las diferencias del alumno para ver cuales tiene activas
        
for ($i 0$i $cantRegistros$i++) { 
            
$lin mysql_fetch_assoc($busca);
            
$opcion $lin["IdDiferencia"];
            
// Comparo la diferencia de la lista con la del alumno. Si es la misma checkeo el boton ..
            
if ($iddif == $opcion) {
                echo 
"<li><input type='checkbox' checked name='hola' value='1' " ?> onClick="return cambiarValor($checks,$iddif)" <?php echo ">";
                echo 
$dif;
                echo 
"</li><br>";
                
$si 1;
                
$checks[$iddif] = 1;
            }
        };
        
// .. Sino lo imprimo sin checkear
        
if ($si == 0) {
            echo 
"<li><input type='checkbox' name='hola' value='0'" ?> onClick="return cambiarValor($checks,$iddif)" <?php echo ">";
            echo 
$dif;
            echo 
"</li><br>";
            
$checks[$iddif] = 0;
        }
        
// Reseteo el puntero del arreglo del query para poder volver a buscar
        
if ($cantRegistros != 0) {
            
mysql_data_seek($busca,0);
        }
    };
Cuando hago onClick en cada checkbox llamo(supuestamente) a esta funcion de javascript:

Código:
function cambiarValor(arreglo, posicion) {
	if (arreglo[posicion] == 1) {
		arreglo[posicion] = 0
	} else {
		arreglo[posicion] = 1
	}
	return true
}
Ahora bien.. se supone que eso modifica el valor y luego me queda listo para usarlo.. pero me dice "listo con errores" en el estado del navegador y no modifica nada :(

Alguna idea? Saludos y gracias!