Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2013, 09:42
antvo
 
Fecha de Ingreso: junio-2012
Mensajes: 233
Antigüedad: 11 años, 10 meses
Puntos: 3
Pregunta Ajax+Php Creacion de un Reporte

Buen día, me podrían orientar con el siguiente problema que tengo:

--Objetivo para que jale: solo necesito poder enviar los parámetros de los input del form que obtengo de ajax al archivo php(RptUsuarios.php) por el método post el archivo php es para que me abra un excel (NO PUEDO MANDAR LAS VARIABLES)
--Propuesta: Generar Reporte de consulta de usuarios y tener un botón para exportar a excel dichos usuarios
--Elementos: para esto hago uso de filtros (en un form) un div(mostrar los resultados ) un boton(es otro form) para exportar el resultado de la consulta
--El problema: no se mandan los valores de los 2 filtros que utilizo de la función ajax a mi pagina php creo que el detalle esta en como mando
estos valores en la función de ajax si se reciben correctamente en esta funcion ya que los mostré con un alert en el archivo php solo puse echo para mostrar
los valores que recibirá por post para cuando se lleguen a recibir

--Los archivos:

html


Código HTML:
Ver original
  1. <!-- <H2>Consulta de Usuarios</h2> -->
  2. <legend>Consulta de Usuarios</legend>
  3.  
  4. <form  action=""  enctype="multipart/form-data" onSubmit="ConsultaUsr('../Admin/test.php'); return false">
  5.   <label>Usuario</label><input type="text" name="csuser" id="csuser"> <br>
  6.    <label>Mail</label><input type="text" name="csmail"  id="csmail"> <br>
  7.   ...
  8.  
  9.   <input type="submit" value=" Buscar ">
  10. </form>
  11.  
  12.  
  13.  
  14. <div id="resultado">
  15.  </div>
  16.  
  17.  
  18. <form >  
  19. <button   Onclick="ExcelRptCnsUsr('Rpts/RptUsuarios.php')">Excel</button>
  20. </form>


ESTA ES LA FUNCION AJAX QUE NO ME ENVIA LOS PARAMETROS

Código Javascript:
Ver original
  1. function ExcelRptCnsUsr(DirUrl){
  2.  
  3.   //valores de los inputs
  4.     user=document.getElementById("csuser");
  5.     email=document.getElementById("csmail");
  6.    
  7.       misdatos="user="+user.value+"&email="+email.value;
  8.    
  9.    //Objeto XMLHttpRequest creado por la función.
  10.    ajax=nuevoAjax();
  11.    
  12.    //Preparar el envio  con Open
  13.     ajax.open("POST", DirUrl,true);
  14.    
  15.    //Enviar cabeceras para que acepte POST:
  16.    ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  17.    ajax.setRequestHeader("Content-length", misdatos.length);
  18.    ajax.setRequestHeader("Connection", "close");
  19.    ajax.onreadystatechange=recogeDatos;
  20.  
  21.  
  22. //alert(user.value);
  23. //alert(email.value);
  24. //console.log(user.value);
  25. //console.log(email.value);
  26.  
  27.    
  28. ajax.onreadystatechange=function()
  29.         {
  30.               if (ajax.readyState==4)
  31.               {
  32.                    
  33.                                 if (ajax.status==200){
  34.                                // alert(ajax.responseText);
  35.                                  }else{
  36.                                        alert("Error al recibir la información!")
  37.                                      }             
  38.  
  39.                }
  40.          }
  41.  
  42.   //enviando los valores
  43.    ajax.send(misdatos); //pasar datos como parámetro
  44.  
  45. }

Archivo php


Código PHP:
Ver original
  1. <?php
  2. $usuario = htmlspecialchars(trim($_POST['user']));
  3.  $mail= htmlspecialchars(trim($_POST['email']));
  4.  
  5. echo $usuario;
  6. echo $mail;
  7. ?>

Última edición por antvo; 30/10/2013 a las 10:36 Razón: tags cambio