Foros del Web » Programando para Internet » Javascript » Frameworks JS »

pasar por ajax a php

Estas en el tema de pasar por ajax a php en el foro de Frameworks JS en Foros del Web. Hola forer@s: Tengo un formulario, donde ademas de mostrar datos de una consulta, tengo varios checkbox que se supone que al seleccionarlo debo actualizar un ...
  #1 (permalink)  
Antiguo 22/09/2010, 08:34
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
Pregunta pasar por ajax a php

Hola forer@s:

Tengo un formulario, donde ademas de mostrar datos de una consulta, tengo varios checkbox que se supone que al seleccionarlo debo actualizar un valor en la base de datos, debido a que genero los checkbox mediante un while ya que son resultado de una consulta, he creado un array que hasta el momento (gracias a un codigo de foros del web) he logrado tomar el valor y mostrar cuales checkbox fueron seleccionados, ahora lo que necesito es pasar con ajax esos valores de los checkbox a php para hacer el update, o no se si se pueda hacer el update desde ajax??? entodo caso necesito que me ayuden ya que no se como puedo hacer esto que necesito y de ajax no se mucho... Aca mi codigo (no es todo solo lo mas importante)

pagina monitor.php

Código PHP:
echo "<form name='realiza' action='' method='POST'>";
include(
'../conexion_mysql/conecta_db_xxxxxxx.php');
$sql_query "Select * from tb_xxxxx where yyyy is false order yyyyy";
$res=mysql_query($sql_query) or die('Error en la consulta'.mysql_error());
//abro tabla y muestro datos
$cont=1;
while(
$row=mysql_fetch_array($resMYSQL_ASSOC)){
 echo 
"<td>$cont</td>";
 echo 
"<td><input type='checkbox' name='chk[]' value='opx$cont' /></td>"//aqui mis checkbox
$cont++;
}
//cierro tabla
echo "<button onclick='alert(valores(this.form, \"chk[]\"));' >¿Realizar?</button>
echo "
</form>"; 
Aca mi script:

Código:
<script type="text/javascript">
function valores(f, cual) { 
 todos = new Array(); 
 for (var i = 0, total = f[cual].length; i < total; i++)   
  if (f[cual][i].checked) 
   todos[todos.length] = f[cual][i].value;  
   return todos.join(".");
}
</script>
Gracias por la ayuda
  #2 (permalink)  
Antiguo 23/09/2010, 11:37
Avatar de 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

Etiquetas: ajax, pasar, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:39.