Gracias por tu ayuda, venkman. Al final pude resolverlo mediante tu ayuda y la de caricatos, del que estuve leyendo varios posts como referencias.
Pese a todo, finalmente no lo hice mediante getElementById.
El código me ha quedado así:
Código javascript
:
Ver originalfunction checkFormChecks () {
ob_1 = document.getElementById("date1");
ob_2 = document.getElementById("date2");
arrEnv = "[";
for (x = 0; x < document.forms[0].elements["cb[]"].length; x ++)
{
arrAux = document.forms[0].elements["cb[" + x + "]"].value.split('-');
val = arrAux[0];
hab = arrAux[1];
if (!document.forms[0].elements["cb[" + x + "]"].checked)
val = 0
if (x == (document.forms[0].elements["cb[]"].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);
}
¡Gracias por la ayuda!