Foros del Web » Programando para Internet » Javascript »

pasar una variable javascript a una php, no se utilizar ajax

Estas en el tema de pasar una variable javascript a una php, no se utilizar ajax en el foro de Javascript en Foros del Web. Buenass soy nuevo en el foro y necesito vuestra ayuda. Seimpre que veo un problema similar la mio o no comparten la solucion o solo ...
  #1 (permalink)  
Antiguo 25/05/2011, 04:41
 
Fecha de Ingreso: mayo-2011
Mensajes: 8
Antigüedad: 12 años, 11 meses
Puntos: 0
pasar una variable javascript a una php, no se utilizar ajax

Buenass soy nuevo en el foro y necesito vuestra ayuda. Seimpre que veo un problema similar la mio o no comparten la solucion o solo le mandan que use ajax.
Asi que os pido vuestra ayuda por favor.

Aqui va un fragmento del codigo con el problema:

function creaSele(id, list, titulo){
document.getElementById(id).style.display='none';
sele = document.createElement('select');
sele.name ="lista[]";
sele.style.width = 400
<?
$titulo = //parametro titulo <----Este es el problema que tengo y que no sé solucionar
?>

Pues como decia necesito asignar la variable $titulo el valor del parametro titulo de la funcion de js.
Se que se usa con ajax así que si pudierais ayudarme con un fragmento de codigo o algo, llevo mucho buscando y no encuentro lo que busco así que pongo mi esperanza en vosotros.

Gracias de antemano.
  #2 (permalink)  
Antiguo 25/05/2011, 04:44
 
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

La duda que tienes no queda muy clara. Será mejor que expongas que intentas hacer (en general, no en esa función concreta) y entonces te podremos decir si necesitas AJAX o no.
  #3 (permalink)  
Antiguo 25/05/2011, 04:52
 
Fecha de Ingreso: mayo-2011
Mensajes: 8
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: pasar una variable javascript a una php, no se utilizar ajax

gracias por atender tan rapido
la duda es, como pongo en el comentario.
Obtener el parametro "titulo" de la funcion, en la variable de php $titulo
no quiero usar ni cookies ni refrescar la pagina a ser posible (esto se me olvido comentarlo antes).

El metodo consiste en:

Crear un select y cargarlo con los datos de una base de datos. y quiero que esté selected el dato que se a igual o parecido al dato que se le pasa en el parametro titulo.

pongo el metodo completo:

function creaSele(id, list, titulo){
document.getElementById(id).style.display='none';

sele = document.createElement('select');
sele.name ="lista[]";
sele.style.width = 400
<?
$titulo = //parametro titulo <----Este es el problema que tengo y que no sé solucionar

$percent1 =0;
$idjuego = array_keys($array);
$i=0;
foreach($array as $x){?>
opt = document.createElement('option');
opt.innerHTML = unescape(<?echo "\"".addslashes($x)."\"";?>);
opt.value = <?echo "\"".$idjuego[$i]."\"";?>;
<?
similar_text($x, $titulo, $percent);
if($percent > $percent1){
$percent1 = $percent;
$parecido = $x;
}
?>
var parec = "<?echo $parecido;?>";
var porcentaje = "<?echo $percent;?>";

if("<?echo $x ;?>" == "<?echo $parecido;?>"){
opt.selected = true;
}
opt.style.width = 400;
sele.appendChild(opt);
<?$i++;
}
?>
document.getElementById(list).appendChild(sele);
inpu = document.createElement('input');
inpu.type = 'hidden';
inpu.value = id;
inpu.name = "identificador[]";
document.getElementById(list).appendChild(inpu);
}
  #4 (permalink)  
Antiguo 25/05/2011, 05:24
 
Fecha de Ingreso: mayo-2011
Mensajes: 8
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: pasar una variable javascript a una php, no se utilizar ajax

en definita lo que importa es la manera de pasar

function creaSele(id, list, titulo){ //El dato que está en negrita en esta funcion javascript

$titulo = //a esta variable sin refresh ni cookies que se encuentra dentro de la funcion
  #5 (permalink)  
Antiguo 26/05/2011, 00:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 8
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: pasar una variable javascript a una php, no se utilizar ajax

podrian pasar este tema al apartado Ajax quizas tenga mas suerte ahí
necesito respuesta de sobre obtener la variable esa urgente
  #6 (permalink)  
Antiguo 26/05/2011, 13:40
 
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.
  #7 (permalink)  
Antiguo 09/06/2011, 00:26
 
Fecha de Ingreso: mayo-2011
Mensajes: 8
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: pasar una variable javascript a una php, no se utilizar ajax

Gracias por tu ayuda, pero al final encontré la solucion al ver que la funcion similar_Text existe en javascript. este fue el cambio:

function creaSele(id, list, titulo){
document.getElementById(id).style.display='none';

sele = document.createElement('select');
sele.name ="lista[]";
sele.style.width = 400
var percent = 0;
<?
$idjuego = array_keys($array);
$i=0;
foreach($array as $x){?>

opt = document.createElement('option');
opt.innerHTML = unescape(<?echo "\"".addslashes($x)."\"";?>);
opt.value = <?echo "\"".$idjuego[$i]."\"";?>;
var porcentaje = similar_text("<?echo $x ;?>", titulo);
if(porcentaje > percent){
opt.selected = true;
percent = porcentaje;
}

opt.style.width = 400;
sele.appendChild(opt);
<?$i++;
}
?>
document.getElementById(list).appendChild(sele);
inpu = document.createElement('input');
inpu.type = 'hidden';
inpu.value = id;
inpu.name = "identificador[]";
document.getElementById(list).appendChild(inpu);
}

Etiquetas: ajax, pasar, php, variables
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 14:08.