Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/04/2007, 19:12
corrupto
 
Fecha de Ingreso: abril-2007
Mensajes: 3
Antigüedad: 17 años
Puntos: 0
Exclamación Problema al seleccionar checkboxes y pintar celdas.

Hola,

Tengo un problema con el siguiente código:

Código:
<?php
include('db.php');
?>
<html>
<head>
<style>
.small {
font-size: 12px;
font-weight:bold;
color:#003333;
font-family:Verdana, Arial, Helvetica, sans-serif;
}
.tabla{
font-size:10px;
font-family:Verdana, Arial, Helvetica, sans-serif;
color:#003366;
}
.tabla a{
color:#8EA2B3;
font-family:Tahoma;
font-size:10px;
text-decoration:none;
}
.tabla a:hover{
color:#8EA2B3;
font-family:Tahoma;
font-size:10px;
text-decoration:underline;
}
</style>
<script>
isIE=document.all?true:false;
var isNS4=document.layers?true:false;
var isNS6=navigator.userAgent.indexOf("Gecko")!=-1?true:false;
	function coloreaf(_v,num){
		var res;
		res=num%2;
			if(eval("document.nombreform.op"+_v+".checked")==1){
				eval("document.nombreform.op"+_v+".checked=0");
					}
			else{
				eval("document.nombreform.op"+_v+".checked=1");
					}
			if(res==0){
			var bC=new Array('#CC9900','white');//(primera color ya clikeada,nose)
			var C=new Array('white','black');
					 }
			else{
			var bC=new Array('#FFCC33','white');//(primera ya clikeada,nose)
			var C=new Array('white','black');
					}
			var X=eval("document.nombreform.op"+_v+".checked?0:1");
		if(isIE) {
			eval("t"+_v+".style.backgroundColor=bC[X]");
			eval("t"+_v+".style.color=C[X]");
					} if(isNS6) {
			document.getElementById("t"+_v).style.backgroundColor=bC[X]; document.getElementById("t"+_v).style.color=C[X];
					 }
			 }
</script>
<script>
isIE=document.all?true:false;
var isNS4=document.layers?true:false;
var isNS6=navigator.userAgent.indexOf("Gecko")!=-1?true:false;
	function colorea(_v,num){
		var res;
		res=num%2;
			if(eval("document.nombreform.op"+_v+".checked")==1){
				eval("document.nombreform.op"+_v+".checked=0");
					}
			else{
				eval("document.nombreform.op"+_v+".checked=1");
					 }
			if(res==0){
				var bC=new Array('#062F83','white');
				var C=new Array('white','black');
					}
				else {
				var bC=new Array('#062F83','#DFEBFF');
				var C=new Array('white','black');
					}
				var X=eval("document.nombreform.op"+_v+".checked?0:1");
			if(isIE){
				eval("t"+_v+".style.backgroundColor=bC[X]");
				eval("t"+_v+".style.color=C[X]");
				}
			if(isNS6){
			document.getElementById("t"+_v).style.backgroundColor=bC[X];
			document.getElementById("t"+_v).style.color=C[X];
				}
		 }
</script>
<script>
isIE=document.all?true:false;
var isNS4=document.layers?true:false;
var isNS6=navigator.userAgent.indexOf("Gecko")!=-1?true:false;
	function coloreamosin(_v,num){
		var res;
		res=num%2;
		if(eval("document.nombreform.op"+_v+".checked")==0){
			//aqui intercalamos los colores %2 del mouse over ;)
			if(res==0){
				document.getElementById("t"+_v).style.backgroundColor="#4F80FF";
				document.getElementById("t"+_v).style.color="white";
					}
			else{
				document.getElementById("t"+_v).style.backgroundColor="#4F80FF";
				document.getElementById("t"+_v).style.color="white";
					}
				}
			}
</script>
<script>
isIE=document.all?true:false;
var isNS4=document.layers?true:false;
var isNS6=navigator.userAgent.indexOf("Gecko")!=-1?true:false;
	function coloreamosout(_v,num){
		var res;
		res=num%2;
			if(eval("document.nombreform.op"+_v+".checked")==0){
			if(res==0){
				document.getElementById("t"+_v).style.backgroundColor="#ffffff";
				document.getElementById("t"+_v).style.color="black";
					}
			else{
				document.getElementById("t"+_v).style.backgroundColor="#DFEBFF";
				document.getElementById("t"+_v).style.color="black";
					}
				}
			}
function checkUncheckAll(theElement) {
     var theForm = theElement.form, z = 0;
	 for(z=0; z<theForm.length;z++){
	     if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
	 		 theForm[z].checked = theElement.checked;
	  			}
		     }
    }

</script>
</head>
<form action="prod_sppb.php" method="post" name="nombreform">
<table align="center" bgcolor="#AAAAAA" border="0" cellpadding="0" cellspacing="0" width="750">
	<tr>
		<td><table align="center" border="0" cellpadding="4" cellspacing="1" width="100%">
				<tr bgcolor="#ccddee" class="small">
					<td align="center">Id<br /><input type="checkbox" name="checkall" onClick="checkUncheckAll(this);"/></td>
					<td>Nombre</td>
					<td>Obra</td>
					<td>Localización</td>
					<td>Fecha</td>
					<td>Foto</td>
					<td>Notas</td>
					<td>Acciones</td>
				</tr>

<?php

$color = "#DFEBFF";
$i = 0;


	$result = mysql_query("SELECT * FROM `clientes` JOIN imagenes ON `clientes`.`Id_clientes`=`imagenes`.`Id_imagenes` ORDER BY `clientes`.`Id_clientes` DESC", $link);
		
		while ($row = mysql_fetch_row($result)){
		
			$color = ($color == "#DFEBFF") ? "#FFFFFF" : "#DFEBFF";
			
			$i++;
			
			echo "<tr bgcolor=\"".$color."\" class=\"tabla\" id=t".$row[0]." onclick='coloreaf(".$row[0].",".$row[0].")' onMouseOver='coloreamosin(".$row[0].",".$row[0].")' onMouseOut='coloreamosout(".$row[0].",".$row[0].")'>\n";
			echo "<td align=\"center\">".$row[0]." <input name='op".$row[0]."' type='checkbox' onclick='colorea(".$row[0].",".$row[0].")'></td>\n";
			echo "<td>".$row[1]."</td>\n";
			echo "<td>".$row[2]."</td>\n";
			echo "<td>".$row[3]."</td>\n";
			echo "<td>".$row[4]."</td>\n";
			echo "<td><img src=\"../../../".$row[6]."\"></td>\n";
			echo "<td>Notas</td>\n";
			echo "<td><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"tabla\">
							<tr>
								<td><a href=\"ver.php?id=".$row[0]."\">Ver</a> | <a href=\"borrar.php?id=".$row[0]."\">Borrar</a> | <a href=\"editar.php?id=".$row[0]."\">Editar</a></td>
							</tr>
						</table></td>\n";
			echo "</tr>";
			}
?>
		</table></td>
	</tr>
</table>
</form>
</body>
</html>
Cuando selecciono el primer checkbox todos los demas se seleccionan pero tengo una funcion que pinta las filas al estar seleccionado y por ese método no lo hace.

La verdad es que no sé mucho de js y agradecería mucho su ayuda.

Gracias

Última edición por corrupto; 01/05/2007 a las 01:33