Cita: El problema que tengo al usar window.name, es que la página donde quiero usar los checkbox seleccionados es una ventana pop-up, por lo que cambia el nombre y no guarda los datos.
En realidad no importa eso. Un ejemplo:
Página base:
Código PHP:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<script type="text/javascript">
function enviar(f){
var obj='{';
var v;
for(var i=0;i<f.elements.length;i++){
if(f.elements[i].type=='checkbox' && f.elements[i].checked){
obj+='"'+f.elements[i].name+'"'+':'+'"'+f.elements[i].value+'",';
}
}
if(obj.length>1)
obj=obj.substr(0,obj.length-1);
obj+='}';
v=window.open('dos.php','','width=500,height=500');
v.name=window.name=obj;
return true;
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="" onsubmit="return enviar(this)">
<input name="uno" type="checkbox" id="uno" value="1" />
<input name="dos" type="checkbox" id="dos" value="2" />
<input name="tres" type="checkbox" id="tres" value="3" />
<input type="submit" name="Submit" value="Enviar" />
</form>
</body>
</html>
Popup (en el ejemplo, dos.php):
Código PHP:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<script>
function mostrarValores(){
var cad='';
if(window.name!=''){
var obj=new Function("return "+window.name)();
for(var i in obj)
cad+=i+'--->'+obj[i]+' ';
}
document.getElementsByTagName('body')[0].appendChild(document.createTextNode(cad));
}
window.onload=mostrarValores;
</script>
</head>
<body>
</body>
</html>