Foros del Web » Programando para Internet » Javascript »

consulta sobre valor devuelto en un <div> por ajax

Estas en el tema de consulta sobre valor devuelto en un <div> por ajax en el foro de Javascript en Foros del Web. Comunidad, buenos días: Mi inquietud es la siguiente, cuando termina el llamado a la función de ajax.js, éste devuelve de forma dinámica a la página ...
  #1 (permalink)  
Antiguo 11/12/2015, 10:54
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Información consulta sobre valor devuelto en un <div> por ajax

Comunidad, buenos días:
Mi inquietud es la siguiente, cuando termina el llamado a la función de ajax.js, éste devuelve de forma dinámica a la página que lo llama un valor que cambia de forma dinámica y se muestra en un <div>. Todo hasta allí funciona y puedo ver que todas las ejecuciones se efectúan sin problemas.

Quisiera saber, si la técnica ajax en vez de devolverme solo un valor que veo cambiar en el <div>, me podría devolver además el valor de otras variables que se tienen en la página que procesa el ajax.

He intentado hacer funcionar esto haciendo el echo $variable1, echo $variable2, echo $variable3...etc, y obviamente el <div> muestra esa información, pero lo que deseo es poder que esa misma información se almacene en variables de php en la página que las recibe.

Mil gracias por su ayuda
  #2 (permalink)  
Antiguo 11/12/2015, 11:15
 
Fecha de Ingreso: enero-2015
Ubicación: Cordoba, Andalucía
Mensajes: 111
Antigüedad: 9 años, 4 meses
Puntos: 15
Respuesta: consulta sobre valor devuelto en un <div> por ajax

No se puede hacer, porque tendrías que volver a cargar la página para crear unas variables php, entonces utilizar ajax no tendría mucho sentido.

Creo que debes utilizar javascript.

Si explicas para que van ha servirte estás variables te van a orientar mejor.
  #3 (permalink)  
Antiguo 11/12/2015, 11:48
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: consulta sobre valor devuelto en un <div> por ajax

Para devolver varios valores, puedes almacenarlos en un array, codificarlo en formato JSON, decodificarlo en el archivo que realizó la petición y acceder a ellos. Ahora bien, si el archivo desde el cual realizas la petición asíncrona también tiene la extensión PHP y deseas almacenar los valores recibidos en variables PHP dentro de dicho archivo (el inicial), no podrás hacerlo ya que JavaScript trabaja del lado del cliente y PHP del lado del servidor.

Mejor dinos para qué deseas hacer eso y quizá podamos darte otra alternativa de solución.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 11/12/2015, 12:30
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Mensaje Respuesta: consulta sobre valor devuelto en un <div> por ajax

Cita:
Iniciado por MrGilbertMan Ver Mensaje
No se puede hacer, porque tendrías que volver a cargar la página para crear unas variables php, entonces utilizar ajax no tendría mucho sentido.

Creo que debes utilizar javascript.

Si explicas para que van ha servirte estás variables te van a orientar mejor.
MrGilbert, muchas gracias por responder, mira te pongo los archivos que estoy usando :
  #5 (permalink)  
Antiguo 11/12/2015, 12:31
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: consulta sobre valor devuelto en un <div> por ajax

mi archivo ajax.js

Código Javascript:
Ver original
  1. var xmlhttp;
  2. function loadDoc(string,url,cfunc)
  3. {
  4.     if (window.XMLHttpRequest)
  5.   {// code for IE7+, Firefox, Chrome, Opera, Safari
  6.   xmlhttp=new XMLHttpRequest();
  7.   }
  8. else
  9.   {// code for IE6, IE5
  10.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  11.   }
  12. xmlhttp.onreadystatechange=cfunc;
  13. xmlhttp.open("POST",url,true);
  14. xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  15. xmlhttp.send(string);
  16. }
  #6 (permalink)  
Antiguo 11/12/2015, 12:32
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: consulta sobre valor devuelto en un <div> por ajax

Este otro es mi archivo de conexion al servidor de sql : conexion.php

Código PHP:
Ver original
  1. <?php
  2. function conexion(){
  3.  $con = mssql_connect("local","root","");
  4.  if (!$con){
  5.   die('Could not connect: ' . mssql_error());
  6.  }
  7.  mssql_select_db("sig", $con);
  8.  return($con);
  9. }
  10. ?>
  #7 (permalink)  
Antiguo 11/12/2015, 12:37
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: consulta sobre valor devuelto en un <div> por ajax

Este es mi archivo index.php

Código PHP:
Ver original
  1. <?php
  2. session_start(); //Inicio de Sesion
  3. header("Cache-control: private"); // IE 6 Fix.
  4. require_once "../CodeBase/utils.php";
  5. ?>
  6. <html>
  7. <frameset rows="*" cols="220,790*" framespacing="2" frameborder="yes" border="3" bordercolor="#000000" >
  8. <?php
  9.    echo  '<frame src="invFicLft.php?x_fbrca='.$fbrca.'" name="leftFrame">';
  10.      echo  '<frame src="invFicRig.php" name="rightFrame"';
  11.  ?>
  12. </frameset>
  13. <noframes></noframes>
  14. </html>
  #8 (permalink)  
Antiguo 11/12/2015, 12:38
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: consulta sobre valor devuelto en un <div> por ajax

En el anterior archivo se me había olvidado comentariar la linea del require_once ..., esa no es necesaria para este proyecto
  #9 (permalink)  
Antiguo 11/12/2015, 12:43
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: consulta sobre valor devuelto en un <div> por ajax

Este es el archivo del frame izquierdo, es el invFicLft.php (como es tan largo, lo voy a colocar a pedazos)

Código PHP:
Ver original
  1. <?php
  2. session_start(); //Inicio de Sesion
  3. include "conexion.php";
  4. ?>
  5. <html>
  6. <head>
  7. <script src="ajax.js"></script>
  8. <script>
  9. function myFunction(str)
  10. {
  11. loadDoc("q="+str,"proc.php",function()
  12.   {
  13.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  14.     {
  15.     if(xmlhttp.responseText==""){
  16.         return;
  17.         }
  18.         else{
  19.     document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  20.     }
  21.     }
  22.   });
  23. }
  24. function myFunction2(str)
  25. { //esta funcion dee mostrar el valor que se eligió
  26. loadDoc("r="+str,"proc22.php",function()
  27.   {
  28.   if (xmlhttp.readyState==4 && xmlhttp.status==200)
  29.     {
  30.         if(xmlhttp.responseText==""){
  31.         return;
  32.         }
  33.         else{
  34.      document.getElementById("myDiv2").innerHTML=xmlhttp.responseText;</script>
  #10 (permalink)  
Antiguo 11/12/2015, 13:06
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: consulta sobre valor devuelto en un <div> por ajax

este es el pedazo restante:

Código PHP:
Ver original
  1. </head>
  2. <body>
  3. <?php
  4.     $con=conexion();
  5.     $res=mssql_query("este es mi primer query para traer los datos que se llenan en el primer combobox desplegable...",$con);
  6.             ?>
  7.             <select id="cont" onChange="myFunction(this.value)">
  8.             <option value="">Seleccione</option>
  9.             <?php
  10.                     while($row=mssql_fetch_array($res)){   
  11.                     echo "<option value= '".$row['zna']."'>".$row['zna']."</option>";
  12.                     }
  13.                     mssql_free_result($res);
  14.                     mssql_close($con);                     
  15.                 ?></select>
  16. //ese anterior select, es funcional, me genera una lista desplegable con los resultados de la consulta generada
  17.  
  18. <div id="myDiv"><select disabled="disabled"><option value="">Seleccione -->:</option></select></div>
  19. //este segundo <div> es donde yo traigo el resultado de una segunda consulta y me rellena este segundo combo box
  20. //en este ultimo <div id="myDiv2"> es donde pongo lo que me arroja el procesar mi segundo archivo php
  21. <div id="myDiv2"></div>
  22. </body>
  23. </html>
  #11 (permalink)  
Antiguo 11/12/2015, 13:11
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: consulta sobre valor devuelto en un <div> por ajax

aqui pongo el primer archivo que procesa el ajax, proc.php
procesando este archivo me rellena mi <div myDiv2> con una segunda lista desplegable

Código PHP:
Ver original
  1. <?php
  2. include "conexion.php";
  3. $q=$_POST['q'];
  4. $con=conexion();
  5. $res=mssql_query("aqui hago mi consulta y con ese resultado, lleno la segunda lista desplegable",$con);
  6. ?>
  7. <form name="frmDropDown">
  8. <select id="pais" name="lstTest" onchange="myFunction2(this.value);">
  9. <option value="">Seleccione -->:</option>
  10. <?php while($row=mssql_fetch_array($res)){ ?>
  11.  <option value="<?php echo $row['ubccion']; ?>"><?php echo $row['ubccion']; ?></option>
  12. <?php } ?>
  13. </select>
  14. </form>
  #12 (permalink)  
Antiguo 11/12/2015, 13:17
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: consulta sobre valor devuelto en un <div> por ajax

Este es el segundo archivo php que debe procesar el ajax,


Código PHP:
Ver original
  1. <?php  
  2.  $r=$_POST['r'];
  3. include "conexion.php";
  4. $con=conexion();
  5. $prueba0=mssql_query("aqui selecciono 3 campos de mi tabla...",$con);
  6. $row0 =  mssql_fetch_array($prueba0);
  7.  
  8. //aqui almaceno el resultado en estas variables, campo por campo
  9.  
  10.  $h=$row0['campo1'];
  11.  $h1=$row0['campo2'] . " ";
  12.  $h2=$row0['campo3']. " ";
  13.  
  14. // Esta es una prueba para saber que mis variables cambian dinamicamente, funciona mostrando esos valores en mi frame izquierdo...
  15. echo "$h, $h1, $h2 ;
  16. </select>
  17. </form>
  #13 (permalink)  
Antiguo 11/12/2015, 13:23
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: consulta sobre valor devuelto en un <div> por ajax

Este es el archivo del frame derecho, tengo un formulario donde quisiera llevar el resultado de las variables a las que les hice el echo "$h, $h1, $h2;... no se como llevar el resultado de esas variables hasta los campos del formulario ubicado la pagina invFicRight.php:

Código PHP:
Ver original
  1. //esta es la pagina del frame derecho
  2. <?php
  3. session_start(); //Inicio de Sesion
  4. ?>
  5. <html>
  6. <head>
  7. </head>
  8.  
  9.  <body>
  10. <form name="frmSubmit">
  11.         primera variable :<input type="text" name="txtTest" readonly="true"  border="none"  style="background:none; border:none; font-weight:bold" >
  12.  
  13. segunda variable :<input type="text" name="txtTest2" readonly="true"  border="none"  style="background:none; border:none; font-weight:bold" >
  14.  
  15. tercera variable :<input type="text" name="txtTest3" readonly="true"  border="none"  style="background:none; border:none; font-weight:bold" >
  16.     </form>
  17. </body>
  18. </html>
  #14 (permalink)  
Antiguo 11/12/2015, 13:25
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: consulta sobre valor devuelto en un <div> por ajax

Todo el resultado de las variables se muestra correctamente en el frame izquierdo, pero necesito es que esas variables se lleven dinamicamente a mi pagina invFicRight.php en los campos del formulario que tengo construído.

Mil gracias por su ayuda
  #15 (permalink)  
Antiguo 12/12/2015, 16:01
 
Fecha de Ingreso: septiembre-2015
Mensajes: 39
Antigüedad: 8 años, 7 meses
Puntos: 0
Mensaje Respuesta: consulta sobre valor devuelto en un <div> por ajax

Sigo intentando enviar el valor de las variables php que me produce el ajax al llamar mi formulario proc22.php hacia el frame derecho, no he podido conseguir hacer eso.

Ayuda por favor

Etiquetas: ajax, funcion, js, php, valor
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 21:26.