Foros del Web » Programando para Internet » PHP »

Pasar variable javascript a php

Estas en el tema de Pasar variable javascript a php en el foro de PHP en Foros del Web. Estoy buscando por todos sitios pero no encuentro una solución a este problema. Tengo un calendario en javascript que lo muestro de la siguiente forma: ...
  #1 (permalink)  
Antiguo 07/10/2010, 09:17
 
Fecha de Ingreso: marzo-2006
Mensajes: 133
Antigüedad: 18 años, 1 mes
Puntos: 6
Pasar variable javascript a php

Estoy buscando por todos sitios pero no encuentro una solución a este problema.

Tengo un calendario en javascript que lo muestro de la siguiente forma:


<script type="text/javascript">
window.onload = function(){


g_globalObject = new JsDatePick({
useMode:2,
target:"inputField",
dateFormat:"%d-%M-%Y"


});

g_globalObject.setOnSelectedDelegate(function(){
var obj = g_globalObject.getSelectedDay();
alert("LA FECHA SELECCIONADA ES: " + obj.day + "/" + obj.month + "/" + obj.year);


$('#inputField').attr("value",""+obj.day+" / "+obj.month+ " / "+obj.year);


document.getElementById("resultado").innerHTML = "aqui tienes el dia: " + obj.day + ", aqui tienes el mes: " + obj.month + ", aqui tienes el año: " + obj.year;



});




};
</script>
<input type="text" size="12" id="inputField" />

<div id="resultado" style="height:20px; line-height:20px; margin:10px 0 0 0; border:dashed 1px #666;"></div>

No se si me habre explicado muy bien porque de javascript no tengo mucha idea.

El caso es que necesito pasar las variables en javascript: obj.day, obj.month y obj.year a las variables en php $n_dia, $n_mes y $n_ano respectivamente.

¿Hay alguna forma posible de hacer esto?

Muchas Gracias.
  #2 (permalink)  
Antiguo 07/10/2010, 09:20
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Pasar variable javascript a php

envialas dentro de un form ?
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 07/10/2010, 09:21
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: Pasar variable javascript a php

sin recargar la pagina no,
php se ejecute en el servidor javascript en el cliente, lo que podrias hacer es pasar esos parametros por url y recargar la pagina, ahi si podrias tomar los datos con php
  #4 (permalink)  
Antiguo 07/10/2010, 09:36
 
Fecha de Ingreso: marzo-2006
Mensajes: 133
Antigüedad: 18 años, 1 mes
Puntos: 6
Respuesta: Pasar variable javascript a php

La pagina la recargo y entonces me muestra:

document.getElementById("resultado").innerHTML = "aqui tienes el dia: " + obj.day + ", aqui tienes el mes: " + obj.month + ", aqui tienes el año: " + obj.year;

Hay tengo las variables, pero no se pasarlas a php...

He probado con tonterias como:

<script> <? $n_dia=?> + obj.month </script>

y otras cosas varias, pero no me funciona!

Gracias por vuestras rapidas respuestas
  #5 (permalink)  
Antiguo 07/10/2010, 09:42
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: Pasar variable javascript a php

Eso es correcto cuando crees el valor en javascript pasalo al form donde tienes el input, dentro de javascript tienes que utilizar this y referenciar el form por su id por ejemplo.

Correccion no uses el ID usa el tag getElementbyTagName para el input xq resultado lo tienes asociacion a un DIV.

De todas formas tu función esta un poco rara que es lo que quieres hacer?

Última edición por egepe; 07/10/2010 a las 09:48
  #6 (permalink)  
Antiguo 07/10/2010, 16:04
 
Fecha de Ingreso: marzo-2006
Mensajes: 133
Antigüedad: 18 años, 1 mes
Puntos: 6
Respuesta: Pasar variable javascript a php

Cita:
Iniciado por egepe Ver Mensaje
Eso es correcto cuando crees el valor en javascript pasalo al form donde tienes el input, dentro de javascript tienes que utilizar this y referenciar el form por su id por ejemplo.

Correccion no uses el ID usa el tag getElementbyTagName para el input xq resultado lo tienes asociacion a un DIV.

De todas formas tu función esta un poco rara que es lo que quieres hacer?
Perdona mi ignorancia pero no llego a entenderte muy bien ya que de javascript "ni papa".

Mi objetivo es un hacer un formulario para ingreso a una web donde entre otros campos necesitaba uno de fecha, al principio lo habia hecho con select muy facilitos que me hacian la funcion y me guardan los valores de la fecha en 3 variables, dia, mes y año. Pero ahora que estoy terminando la web y haciendole unas pocas mejoras queria insertarle un calendario "un poco mas guay" asi que me baje uno echo en internet en javascript. El problema lo tengo ahora al pasar las variables dia mes y año que me crea en javascript a php para poder insertarlas a la base de datos...

Yo pensaba que iba a ser una chorrada pero ya veo que no!

Muchas gracias!
  #7 (permalink)  
Antiguo 07/10/2010, 16:50
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Pasar variable javascript a php

No has explicado para que la necesitas pasar, sólo has pegado el código que viene en el ejemplo al descargar el jsdatepick, pero si es un formulario de ingreso en una web, Hidek1 ya te ha respondido desde mi punto de vista, ya que doy por hecho que esos valores irán a esa página u otra donde serán validados.

De todas formas es lo más fácil además. Basta con pasar los valores a los inputs cada vez que entre en la función javascript. Es decir al elegir una fecha.

Sino me he explicado muy bien te lo pongo con el código.
Está masticado...

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jsDatePick Javascript example</title>

<link rel="stylesheet" type="text/css" media="all" href="jsDatePick_ltr.min.css" />

<script type="text/javascript" src="jsDatePick.min.1.3.js"></script>

<script type="text/javascript">
	window.onload = function(){

		g_globalObject = new JsDatePick({
			useMode:1,
			isStripped:true,
			target:"div3_example"

		});		
		
		g_globalObject.setOnSelectedDelegate(function(){
			var obj = g_globalObject.getSelectedDay();
			//alert("a date was just selected and the date is : " + obj.day + "/" + obj.month + "/" + obj.year);
			//document.getElementById("div3_example_result").innerHTML = obj.day + "/" + obj.month + "/" + obj.year;
			document.formFechas.dia.value = obj.day;
			document.formFechas.mes.value = obj.month;
			document.formFechas.anio.value = obj.year;
		});
		
	};
</script>
</head>
<body>

    <div id="div3_example" style="margin:10px 0 30px 0; border:dashed 1px red; width:205px; height:230px;">
    	
    </div>
    
    <form name="formFechas" action="envio.php" method="post" >
        <input name="dia" type="text" value="" />
        <input name="mes" type="text" value="" />
        <input name="anio" type="text" value="" />
        <input name="" type="submit" value="Enviar"/>
    </form>
        
</body>
</html> 
Después el típico $_POST['dia'] en php etc etc...
De esta forma tienes en cada campo el dia, el mes y el año que escogió el usuario.
Añades esos valores a unos campos (con type="hidden" si no los quieres mostrar) y listo.
Para mi es la forma más sencilla si lo que pretendes es pasar las variables.
  #8 (permalink)  
Antiguo 07/10/2010, 16:53
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Pasar variable javascript a php

puedes hacer un location con esos 3 datos y pasarlos via url y en php lo recibes con get.
__________________
Quitenme la vida pero no la bebida.
  #9 (permalink)  
Antiguo 08/10/2010, 05:02
 
Fecha de Ingreso: marzo-2006
Mensajes: 133
Antigüedad: 18 años, 1 mes
Puntos: 6
Respuesta: Pasar variable javascript a php

Muchas gracias por sus respuestas! Ya lo consegui solucionar como me dijo IEKK.

Etiquetas: javascript, pasar, 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 06:15.