Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/05/2011, 13:40
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: pasar una variable javascript a una php, no se utilizar ajax

Esa forma de mezclar javascript y php no es una buena manera de hacer las cosas.

Entiendo que quieres una función en javascript que te cree un select con datos de una base de datos, pero estás mezclando cosas que no se pueden hacer.

La manera correcta sería:
  1. Realizar una petición al servidor para sacar los datos que quieres obtener
  2. El servidor realiza la consulta

Luego tienes dos opciones:
  1. Te creas la estructura del select en el php y devuelves como respuesta un código html que luego solo tienes que insertar en la página
  2. Recibes unos datos en otro formato, como XML, y vas creando el select mediante el DOM

Yo casi prefiero la primera versión, pero es igual.

Lo importante es tener claro como puedes hacerlo y no mezclar las cosas (la función que has puesto se crea con datos en el script php pero a su vez necesita alimentarse de un dato que todavía no tienes porque no se ha enviado la página al cliente. Vamos, la serpiente que se muerde la cola).


Te voy a poner un esquema de como sería la función (Voy a utilizar la librería JQuery que facilita mucho el uso de AJAX.):

Código Javascript:
Ver original
  1. function creaSele(id, list, titulo){
  2.    
  3. $('#'+id).hide();
  4.  
  5. $.ajax({
  6.    type: "POST",
  7.    url: "datos.php",
  8.    data: ({titulo : titulo}),
  9.    dataType: "html",
  10.    success: function(datos){
  11.     $('#'+list).append(datos,'<input type="hidden" value='+id+'" name="identificador[]" />');    
  12.    },
  13.     error: function(datos){
  14.     $('#'+list).append(datos,'<input type="hidden" value='+id+'" name="identificador[]" />');    
  15.    }
  16.  });
  17. }


Luego en el archivo datos.php tendrías que hacer la consulta a la base de datos y crear la estructura de select y option.