El código completo de mi función es:
Código javascript
:
Ver originalfunction checkFormChecks () {
arr_ckb = document.getElementById("cb");
ob_1 = document.getElementById("date1");
ob_2 = document.getElementById("date2");
arrEnv = "[";
for (x = 0; x < arr_ckb.length; x ++)
{
arrAux = arr_ckb[x].value.split('-');
val = arrAux[0];
hab = arrAux[1];
if (val == null)
val = 0
if (x == (arr_ckb.length - 1))
arrEnv = arrEnv + "{\"val\":" + val + ",\"hab\":" + hab + "}"
else
arrEnv = arrEnv + "{\"val\":" + val + ",\"hab\":" + hab + "},"
}
arrEnv = arrEnv + "]";
ajax = objetoAjax ();
ajax.open ("GET", "php/query3.php?arrEnv=" + arrEnv + "&date1=" + ob_1.value + "&date2=" + ob_2.value, true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 1) {
document.getElementById('step3').style.opacity = 1.0;
document.getElementById("formFinal").innerHTML = "<img src='img/ajax-loader.gif' title='Cargando...' alt='Cargando...'/>";
}
else if (ajax.readyState == 4) {
if (ajax.status == 200)
document.getElementById("formFinal").innerHTML = ajax.responseText;
else if(ajax.status == 404)
resultado.innerHTML = "Objeto no encontrado";
else
resultado.innerHTML = "Error: " + ajax.status;
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
}
Tenías razón en que ponía mal el length, y gracias a que me has preguntado que para qué le preguntaba si era nulo me he dado cuenta de que sólo quiero guardar el valor de los id's seleccionados (los no seleccionados se los pasaré a PHP como 0 para que los controle) con lo que tendré que cambiar el código para que sólo introduzca en el vector a los arr_ckb[x].checked.
De todos modos, acabo de probar el script con getElementById y tampoco me funciona, así que debo seguir mirando.
Gracias por tu ayuda, venkman, un saludo.