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

Retornar el valor de la lista en Ajax

Estas en el tema de Retornar el valor de la lista en Ajax en el foro de Frameworks JS en Foros del Web. Saludos, Estoy implementando un carrito de la compra y la idea es pasar el producto del catálogo vía GET. El problema es que tengo una ...
  #1 (permalink)  
Antiguo 17/12/2008, 06:19
 
Fecha de Ingreso: diciembre-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Retornar el valor de la lista en Ajax

Saludos,

Estoy implementando un carrito de la compra y la idea es pasar el producto del catálogo vía GET. El problema es que tengo una tabla de "Precios" con los campos "Puesto" "Precios" que tienen unos valores fijos los cuales represento con un select.

Ej. PUESTOS PRECIO
1 200
2 230
3 310

El problema viene cuando quiero recoger el valor del puesto para pasarlo vía GET junto al resto de información del producto en cuestión, ya que al implementarlo con ajax simplemente me muestra el precio pero no me devuelve nada.

El código es el siguiente:

funcion.js

[js]
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function pedirDatos() {
divResultado = document.getElementById('resultado');
puesto=document.formulario.lista.value;

ajax=objetoAjax();
ajax.open("POST", "precios.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divResultado.innerHTML = ajax.responseText
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("puestos="+puesto)
}
[/js]

index.php

Código PHP:
<body>            
<p>Este ejemplo muestra como realizar una consulta de los registros de una tabla usando un control de lista.</p>            
<form name="formulario" action="">            
<?php            
    
include('lista.php');        
?>            
</form>            
<div id="resultado" style="border:1px solid #FF0000; color:#000099;width:400px;">            
</div>            
</body>
lista.php

Código PHP:
require('conexion.php');            
$sql=mysql_query("SELECT Puestos FROM Precios",$con);            
echo 
"<select name="lista" onchange="pedirDatos()">"            
while($row mysql_fetch_array($sql)){            
    echo 
"<option>".$row['Puestos']."</option>";        
}            
echo 
"</select>"
precios.php

Código PHP:
        require('conexion.php');    
        
$opcionSeleccionada=$_POST['puestos'];    
        
$sql=mysql_query("SELECT Precio FROM Precios WHERE Puestos=" $opcionSeleccionada);    
        
$row mysql_fetch_array($sql);    
        echo     <
p><strong>Precio</strong></p><p>.$row['Precio']."</p>"
Agradezco de antemano vuestra ayuda.
  #2 (permalink)  
Antiguo 17/12/2008, 10:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Retornar el valor de la lista en Ajax

Pues el problema primero es la sintaxis de PHP, te faltan comillas en unos lados, y en otros te falta escapar las comillas.

Lee esto:http://www.forosdelweb.com/f18/como-...s-bien-588701/

Saludos.
  #3 (permalink)  
Antiguo 17/12/2008, 11:24
 
Fecha de Ingreso: diciembre-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Respuesta: Retornar el valor de la lista en Ajax

El programa funciona a la perfección, lo que he ido cogiendo esbozos del script para que os hagáis una idea de la estructura.


Por favor, ceñiros a la pregunta en cuestión.


Un saludo.
  #4 (permalink)  
Antiguo 17/12/2008, 11:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Retornar el valor de la lista en Ajax

Pues si tengo entendido al enviar todo tu formulario por $_GET no recibes el precio? pues es (hasta cierto punto obvio), ya que recuerda que todo lo que se envia por $_GET son elementos de un formulario, tu estas imprimiendo el precio en un <p>, si deseas tambien enviar el precio puedes pasarlo a un textbox o usar un campo hidden y con eso se va a enviar.

Saludos.
  #5 (permalink)  
Antiguo 17/12/2008, 12:30
 
Fecha de Ingreso: diciembre-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Respuesta: Retornar el valor de la lista en Ajax

No lo envío por campo hidden, simplemente necesito el valor del precio o puesto para identificarlo cuando voy agregar a la cesta de la compra.
  #6 (permalink)  
Antiguo 17/12/2008, 13:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Retornar el valor de la lista en Ajax

Mmm no entiendo entonces en que parte tienes el problema en tu código, si pudieras explicar un poco más con gusto te puedo asesorar.

Saludos
  #7 (permalink)  
Antiguo 17/12/2008, 17:16
 
Fecha de Ingreso: diciembre-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Respuesta: Retornar el valor de la lista en Ajax

Solucionado.

Simplemente recojo el valor del id del select cuando hace el onChange en una función con un document.getElementById("puesto").value.

Gracias por contestar ;)
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 03:57.