Foros del Web » Programando para Internet » Javascript »

No devuelve valor Javascript en PHP

Estas en el tema de No devuelve valor Javascript en PHP en el foro de Javascript en Foros del Web. Muy buenas amig@s! Estoy con un proyecto en el cuál se maneja tanto JavaScript como PHP, lo malo es pasar información de uno a otro. ...
  #1 (permalink)  
Antiguo 24/10/2012, 04:30
 
Fecha de Ingreso: octubre-2012
Ubicación: Sevilla
Mensajes: 1
Antigüedad: 11 años, 6 meses
Puntos: 0
Exclamación No devuelve valor Javascript en PHP

Muy buenas amig@s!

Estoy con un proyecto en el cuál se maneja tanto JavaScript como PHP, lo malo es pasar información de uno a otro. Mi problema concretamente es el siguiente:

Tengo el siguiente <span> que se rellena dinámicamente con JavaScript que me da un total del precio de varios productos.
Código HTML:
<label>Total: </label>
<span id="total" name="total" style="font-weight: bold;"></span>

<input type="submit" value="Save" class="button" onclick="descargaArchivo();"/> 
A continuación, os muestro el método Ajax en el cuál intento pasar el valor de "tottal" (variable javascript genérica).
Código Javascript:
Ver original
  1. function descargaArchivo(token) {
  2.         var total = '' + tottal;
  3.     var query;
  4.  
  5.     if (window.XMLHttpRequest)
  6.         query = new XMLHttpRequest();
  7.     else if (window.ActiveXObject)
  8.          query = new ActiveXObject('Microsoft.XMLHTTP');       
  9.     }
  10.  
  11.     if (query != null) {
  12.         try {
  13.             query.open('POST', 'index.php?tab=AdminManagement&valor='+total, true);
  14.             query.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  15.             query.send(null);
  16.            
  17.         }
  18.         catch(exc) {
  19.             alert('Error');
  20.         }
  21.     }
  22. }

Y por último, el simple "echo" en PHP para ver si se recoge bien el valor.
Código PHP:
 $valor=$_POST['valor'];
 echo 
'Total: '.$valor
Después de muchas vueltas, no encuentro la solución .

Gracias por adelantado y muchos saludos.
  #2 (permalink)  
Antiguo 24/10/2012, 06:55
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: No devuelve valor Javascript en PHP

tienes muchos errores:

1 - no estás implementando AJAX debidamente, el valor devuelto por PHP lo obtienes en la función que pasas como callback al onreadystatechange, la cual NO aparece por ningún lado, no hay nada que conecte al XMLHttpRequest.responseText al innerHTML del span total

2 - ¿de donde proviene tottal?, no está definida, ni proviene de parámetros ya que la función descargaArchivo sólo tiene un parámetro token. Para recuperar valores de los objetos del DOM como ése span debes usar los métodos del DOM como:

Código Javascript:
Ver original
  1. var total = document.getElementById('total');
3 - Semántica: el XMLHttpRequest no es un Query de php, y el nombre de la función descargaArchivo no me parece adecuado, recuerda que por AJAX no se pueden descargar archivos, ya que es javascript quien toma la respuesta de la petición, y no el navegador, y no veo que tengas intenciones de descargar un archivo.

te recomiendo que leas un manual de AJAX: http://librosweb.es/ajax/index.html
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax
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 02:15.