Ver Mensaje Individual
  #4 (permalink)  
Antiguo 17/04/2009, 05:55
Koden
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 9 meses
Puntos: 1
Respuesta: Problema con checkboxes

El código completo de mi función es:

Código javascript:
Ver original
  1. function checkFormChecks () {
  2.     arr_ckb = document.getElementById("cb");
  3.     ob_1 = document.getElementById("date1");
  4.     ob_2 = document.getElementById("date2");
  5.  
  6.     arrEnv = "[";
  7.  
  8.     for (x = 0; x < arr_ckb.length; x ++)
  9.     {
  10.         arrAux = arr_ckb[x].value.split('-');
  11.  
  12.         val = arrAux[0];
  13.         hab = arrAux[1];
  14.  
  15.         if (val == null)
  16.             val = 0
  17.  
  18.         if (x == (arr_ckb.length - 1))
  19.             arrEnv = arrEnv + "{\"val\":" + val + ",\"hab\":" + hab + "}"
  20.         else
  21.             arrEnv = arrEnv + "{\"val\":" + val + ",\"hab\":" + hab + "},"
  22.     }
  23.  
  24.     arrEnv = arrEnv + "]";
  25.  
  26.     ajax = objetoAjax ();
  27.  
  28.     ajax.open ("GET", "php/query3.php?arrEnv=" + arrEnv + "&date1=" + ob_1.value + "&date2=" + ob_2.value, true);
  29.  
  30.     ajax.onreadystatechange = function() {
  31.         if (ajax.readyState == 1) {
  32.             document.getElementById('step3').style.opacity = 1.0;
  33.             document.getElementById("formFinal").innerHTML = "<img src='img/ajax-loader.gif' title='Cargando...' alt='Cargando...'/>";
  34.         }
  35.         else if (ajax.readyState == 4) {
  36.             if (ajax.status == 200)
  37.                 document.getElementById("formFinal").innerHTML = ajax.responseText;
  38.             else if(ajax.status == 404)
  39.                 resultado.innerHTML = "Objeto no encontrado";
  40.             else
  41.                 resultado.innerHTML = "Error: " + ajax.status;
  42.         }
  43.     }
  44.     ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  45.     ajax.send(null);
  46. }

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.