Foros del Web » Programando para Internet » Javascript »

Como Pasar Una Variable De Javascript A Php

Estas en el tema de Como Pasar Una Variable De Javascript A Php en el foro de Javascript en Foros del Web. Hola, estoy trabajando con un proyecto en la que se me presenta este caso que no he podido resolver, les planteo la situación: Tengo dos ...
  #1 (permalink)  
Antiguo 18/05/2006, 13:51
 
Fecha de Ingreso: mayo-2006
Mensajes: 1
Antigüedad: 18 años
Puntos: 0
Como Pasar Una Variable De Javascript A Php

Hola, estoy trabajando con un proyecto en la que se me presenta este caso que no he podido resolver, les planteo la situación:

Tengo dos listas de selección las cuales llenan su contenido según los datos que se encuentran en una base de datos, pero al escojer una opción en la primera lista, la segunda debe mostrar los datos de la base de datos que correspondan sólo a la opción seleccionada.

Manejo el cambio de la primera lista con javascript mandando llamar a una función con el parámetro Onchange, y de esa manera tengo el value de esa lista, pero necesito pasarle ese valor a PHP para llevar a cabo la búsqueda y es ahí cuando entra mi problema, no sé como enviarle el valor a php sin tener que refrescar toda la página.

Este es el codigo, al hacer clic en el combo este me ejecuta la funcion Llenar periodo, la cual hace una busqueda en php con la funcion "getPackagePrices", la cual debe recibir el valor del primer combo y mostrar el resutlado de la busqueda.

<script language="javascript" type="text/javascript">
<? function getPackagePrices( $paquete ){
global $CSYMBOL;
$optionMenu = '';
$res = mysql_query( "SELECT * FROM hosting WHERE package='$paquete' ORDER BY months", $_SESSION['so']->getConnection() );
$filas = mysql_num_rows($res);
for($k=0;$k<$filas;$k++){
$row = mysql_fetch_assoc( $res ); ?>
agregarDatoCombo(paq,"<? echo $k ?> ","<? echo $k ?> ",'Combito',false);
alert("entro a la funcion");
<?}
return $optionMenu;
}//fin de la funcion getpackage
getPackagePrices('?> vpaq <?');
//?>

function LlenarPeriodo(idpaq,vpaq)
{
//alert('name '+idpaq+' valor '+vpaq);
//Limpiamos el contenido del combo antes de cargarle nuevos datos


//Recorremos el vectorAutos
var posicion=0;
//buscamos el combo a cambiar
var paq="";
paq="periodo"+idpaq.substring (7,8);
//alert("enviando a"+paq);
vaciarCombo(paq);
<? for($k=0;$k<10;$k++){ ?>
agregarDatoCombo(paq,"<? echo $k ?>","<? echo $k ?>",'Combito',false);
<? } ?>
}
function vaciarCombo(comboDestino)
{
document.getElementById(comboDestino).length = null;
}
function agregarDatoCombo(comboDestino,orden,descripcion,va lor,estado)
{
document.getElementById(comboDestino).options[orden] = new Option(descripcion,valor,"",estado);
}
</script>

Última edición por ebasil24; 18/05/2006 a las 14:32
  #2 (permalink)  
Antiguo 18/05/2006, 14:24
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 10 meses
Puntos: 125
Realmente no entendí mucho ni en que momento deseas pasar la variable..
Elimina los comentarios del CODE puesto..
  #3 (permalink)  
Antiguo 18/05/2006, 14:47
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 21 años, 10 meses
Puntos: 125
tratando de entender:
si deseas pasar el valor de javascript debes llamar una página PHP en donde puedes incluir a través de URL el valor que desees pasar por ejemplo:

Código PHP:
//siendo variablejs una var de javascript
var accion "buscar.php?valor="+variablejs;
window.document.form1.action accion;
window.document.form1.target="_self";
self.document.form1.submit();
//aqui necesariamente hace submit a la página de búsqueda pasando los valores a través de la URL 
puede que en AJAX encuentres el método que buscas.. algo que desconozco :(
  #4 (permalink)  
Antiguo 01/08/2006, 12:53
 
Fecha de Ingreso: marzo-2006
Ubicación: Mexico
Mensajes: 3
Antigüedad: 18 años, 1 mes
Puntos: 0
Pues yo también tengo el mismo problema

Tal parece que la única forma es refrescar la página, pues yo no veo otra forma.

por ejemplo yo he intentado esto:

.
.
.
var municipio=formu.municipios.optios[formu.municipios.options[selectedIndex]].text;
<?php

$mun="municipio";
..Ejecuto la consulta

?>

y bueno lo curioso de esto es que para prueba mando una alert de esta manera..

alert(<?php echo $mun;?>);

y me manda el valor del municipio seleccionado, pero dentro de la consulta toma el valor de la cadena que le asigne entre comillas.
  #5 (permalink)  
Antiguo 01/08/2006, 12:59
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Cita:
Iniciado por Fenix_Xanadu
Tal parece que la única forma es refrescar la página, pues yo no veo otra forma.

por ejemplo yo he intentado esto:

.
.
.
var municipio=formu.municipios.optios[formu.municipios.options[selectedIndex]].text;
<?php

$mun="municipio";
..Ejecuto la consulta

?>

y bueno lo curioso de esto es que para prueba mando una alert de esta manera..

alert(<?php echo $mun;?>);

y me manda el valor del municipio seleccionado, pero dentro de la consulta toma el valor de la cadena que le asigne entre comillas.
Normal que el alert te haga eso. Piensa que la traduccion que hace en el código fuente es:

Código HTML:
alert (municipio); //Igual que la variable que anteriormente declaraste en javscript.
Javascript es código de cliente y PHP de servidor, así q para pasar variables entre ambos hay q recargar la página obligatoriamente o realizar un subproceso más complicado en otra ventana o frame y devolverlo al principal.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #6 (permalink)  
Antiguo 01/08/2006, 13:29
Avatar de juanca2626  
Fecha de Ingreso: junio-2004
Ubicación: Lima-Peru
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Ajax

Si quieres pasar un dato de javascript a php sin que se refresque la pagina la unica solucion que tendrias es usar ajax.
Ahora ya existe bastante documentacion de ajax que te puede ayudar facilmente sobre este tema ok
  #7 (permalink)  
Antiguo 02/08/2006, 09:37
 
Fecha de Ingreso: marzo-2006
Ubicación: Mexico
Mensajes: 3
Antigüedad: 18 años, 1 mes
Puntos: 0
Gracias por sus aportes

Gracias por sus aportaciones, y pues bueno creo que lo voy a intentar refrescando la página para un solución rapida, y despuesa estudiar de que trata ajax para implemetarlo.
  #8 (permalink)  
Antiguo 02/08/2006, 10:03
 
Fecha de Ingreso: marzo-2006
Ubicación: Mexico
Mensajes: 3
Antigüedad: 18 años, 1 mes
Puntos: 0
Mejorar los sitios WEB con ajax

En la siguiente dirección se ve un ejemplo en marcha de lo que se pretende:

Que mama....das son de poner enlaces a otras pagina hasta enviar 15 mensajes

Y en esta dirección esta una breve explicación, espero y les sirva para los que tienen este problema.

...lo mismo de la segunda linea

pero bueno, busca en google, la pagina desarrolloweb y dentro de esta pagina busca 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 01:14.