Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2006, 10:19
sarverok007
 
Fecha de Ingreso: enero-2005
Mensajes: 115
Antigüedad: 19 años, 3 meses
Puntos: 1
Problema con los checkbox a la hora de enviar los datos

Bien, resulta que estoy haciendo una pagina web con PHP y AJAX y claro cargo un formulario en un div de la web con ajax y quiero enviar los datos a la misma pagina pero con ajax tambien para que solo se tenga que cargar ese div de la web. Pues el problema es que no logro hacer que el array con los checkbox pasen. Os pongo un resumen del codigo, a ver si me podeis ayudar:
pagina.php

<?php
...
echo '<html><head>';
echo '<script src="./scripts/ajax.js" language="JavaScript"></script>';
echo '</head><body>';
...
echo '<form name="cargarDatos" method="get">';
echo '<input type="checkbox" onclick="seleccionarTodos(this.form,this.checked); " name="todos" value="1" title="Select all">Selecionar todo<br>';
foreach( .... ){
...
echo '<input type="checkbox" name="lista[]" value="'.urlencode($dirname.$filename).'">';
...
echo '<a href="javascript:;" target="_top" onclick="guardarArchivos(\''.$_SERVER['PHP_SELF'].'\')" title="Save"><span class="letra_estandard_b"><img src="./imagenes/ok.gif" border="0" align="absmiddle">&nbsp;Save the selected files in the Data Base</span></a>';
echo '</form>';
}
...
?>

ajax.js
....
function guardarArchivos(urldestino){
if(urldestino==''){
return;
}
var resto = new Array();
var c = 0;
for (i = 0; i < document.cargarDatos.elements.length; i++){
if(document.cargarDatos.elements[i].type=="checkbox" && document.cargarDatos.elements[i].checked){
resto[c]=document.cargarDatos.elements[i].value;
c++;
}
}
if(c==0){
alert("Debe seleccionar algun archivo");
return;
}else{
/*for(i=0;i<resto.length; i++)
alert(resto[i]);*/
cargaXML(urldestino+"?lista="+resto);
}
}
...


Bien lo que sucede es que aunque la funcion guardarArchivo en el alert comentado abajo de todo muestra correctamente los valores almacenados que en este caso son cadenas del tipo:

C%3A%2FEsto%2Fes%2Fun%2Fejemplo%2Farchivo.jpg

Cuando hago cargaXML(urldestino+"?lista="+resto); no se si estoy metiendo bien la matriz o como tendria que hacer para que la matriz se pasase como en un formulario corriente por GET.
Cuando recogo esa urldestino?lista=... solo me muestra un caracter almacenado en ella la c en este caso, correspondiente al primer caracter de la cadena.
Alguno sabe como hacer para poder pasar una matriz con javascript igual que si fuera una matriz de un formulario normal y corriente.

Espero haberme explicado bien, y gracias por la ayuda.
__________________
SaRvErOk :ojotes: