Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/09/2010, 11:37
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
Pregunta Respuesta: pasar por ajax a php

Hola, he buscado varios ejemplos y debido a mi poco conocimiento de ajax no he logrado estructurarlos muy bien, sin embargo he tenido un avance muy bueno, pero aun asi no he logrado pasar el valor de los checkbox, pongo mi codigo ojala puedan revisarlo haber donde no estoy haciendo las cosas bien. GRacias

Este es mi php [monitor.php] (simplificado) que contiene mi formulario llamado realiza:

Código PHP:

<div id="res_p" style="display:none">
<
form name="realiza" id="realiza" action="" method="POST">
//tabla
//...valores
$cont=1;
while(
$row=mysql_fetch_array($resMYSQL_ASSOC)){
 echo 
"<td><input type='checkbox' id='chk[]' name='chk[]' value='opx$cont' /></td>";
$cont++;
}
//...cierro tabla
</form>
</
div
aca mi funcion:

Código:
function actualiza(chk, capa){
 alert ("entro");
    var ajax;
    seleccionados = new Array();
    checkboxes = new Array();
    var fm= document.realiza;
		
    for (var i=0, total=fm[chk].length; i < total; i++){   
	if (fm[chk][i].checked){ 
                    seleccionados[seleccionados.length] = fm[chk][i].value;
	    checkboxes[seleccionados.length] = "&chk[]="+seleccionados[seleccionados.length];
	}
    }
    alert (seleccionados);
    alert (checkboxes);
		
    ajax= ajaxFunction();
    ajax.open("POST", "./../CIByR/pag_operador/realizar.php", true);
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajax.onreadystatechange = function() {
        if (ajax.readyState == 1){
              document.getElementById(capa).innerHTML= "<center><img src='./../CIByR/pag_consulta/images/loader.gif' alt='Procesando'><br><br> Espere por favor...</center>";
        }
        if (ajax.readyState == 4){		   
             document.getElementById(capa).innerHTML= ajax.responseText; 
       }
  }			
ajax.send("checkboxes="+checkboxes);	
alert ("sigue");			
//ajax.send(seleccionados.join("&"));
//ajax.send(null);
}
y mi pagina realizar.php:

Código PHP:
$checkboxes=$_POST['chk'];

echo 
$checkboxes
como veran en mi funcion pongo unos alert para ver el comportamiento del codigo, por ejemplo si selecciono 3 checkbox lo que obteno como resultado es:

1° - entro
2° imprimo seleccionados - opx25,opx26,opx27
3° imprimo checkboxes - ,&chk[]=undefined,&chk[]=undefined,&chk[]=undefined
4° sigue

y lo que obtengo de mi pagina realiza donde imprimo mi variable: $checkboxes me da como resultado Array, eso imprime el div

Obviamente no estan llegando los valores... alguien sabe como puedo arreglar mi codigo??

Muchas gracias