| Por: Fabian Gonzalez | | 05/12/03
|
Si es posible pasar variables desde javascript a php o asp, ya que javascript permite modificar campos de formularios, creamos un campo oculto, colocamos el valor y al usuario hacer submit podemos coger el valor desde php/asp
No solo eso del campo oculto si no que ademas podemos armar un link segun deseemos con javascript y tomar los datos de la url
He probado las sintaxis que aqui mostrais,y no me ha funcionado, y he probado esta otra y la verdad si que ha funcionado.
var url='<,? echo $url?>';
Vamos a ver, eso ...bueno, es pasarles las variables pero no directamente como preguntaban, además se indica ( en la misma página ).
Así, NO estás pasando variables Javascript a PHP o ASP, las variables que reciben son $_POST_VARS, variables de formulario o en la segunda respuestas $_GET_VARS a través del link, otra cosa es el origen de esas variables ya sea generado con Javascript o lo que sea.
Así que NO, no se pueden pasar variables de JavaScript a un lenguaje del lado servidor XD, y como preguntaban, nunca directamente a través del mismo script, obviamente, porque se ha de ejecutar el script del lado servidor para trabajar con unas variables y luego trabajar en el lado cliente con las de Javascript por ejemplo ;).
No solo crear el formuliario con las variables que queramos pasar a php o asp
ademas podemos mandarcelas al servidor usando document.form.submit();
| Por: José Anacreonte Mellanes Reyes | | 21/10/04
|
Si no hay un método para pasar variables desde JavaScript hacia ASP o PHP (es decir, hacer que una variable en ASP o PHP tome el valor de una variable de JavaScript), puedes intentar usar Cookies para intercambiar valores entre aplicaciones. El único defecto de esta solución es que no todos los navegadores soportan el uso de cookies.
| Por: Samuel Angel Herbas Gonzales | | 11/1/06
|
/* Variables PHP usadas en JavaScript*/
/* El ejemplo que intento mostrar es sobre un menu que esta hecho en JavaScript pero necesito crearlo dinamicamente recorriendo mi BD desde PHP. Todos sabemos que PHP trabaja desde el lado Servidor y JavaScript lo hace desde el lado cliente, por lo tanto desde el lado cliente no podemos usar directamente una variable creada en PHP. Pero todo tiene solucion, porque no le pasamos a JavaScript todo ya hecho?. Eso se hace creando desde PHP Script para JavaScript y porsupuesto ahi podemos utilizar nuestras variables en PHP, el resultado se tiene que el codigo resultante para JavaScript sera una pagina con los varores de fijos de nuestras Variables incluidas creadas en PHP. Vea por favor lo que hago con mis variables $Cad1 y $Cad2. (Esta tecnica me costo mucho desarrollarla y entenderla, por eso quiero compartirala...*/
<?
include ("coneccion.php");
$res_area=mysql_query("SELECT * FROM menus WHERE nivel='1'",$link);
while ($row_area=mysql_fetch_array($res_area)){
$descrip = $row_area['des'];
$cad1 = "<script> it=s0.addItem(3,4,5,'$descrip',n,n,'','http://www.yahoo.com',n,n,n,'http://www.yahoo.com',n,0,0,2,0,'0','','');</script>";
echo "$cad1";
/* Vea que al imprimir $cad1 estoy generando un Script en JavaSccript pero con mi variable $descrip incluida. Lo mismo hago con $Cad2 */
$cad2 = "<script> var s1=AdicionadSubmenu(0,0,-1,2,0,0,0,2,2,1,0,n,n,100,0); </script>";
echo "$cad2";
$codmay = trim($row_area['codigo']);
$res_grupo=mysql_query("SELECT * FROM menus WHERE codmay=$codmay and nivel=2",$link);
while ($row_grupo=mysql_fetch_array($res_grupo)){
$descrip = $row_grupo['des'];
$enlace = $row_grupo['enlace'];
$cad2 = "<script> it=AdicionaItem(3,4,5,'$descrip',n,n,'','$enlace',n,n,n,'$enlace',n,0,0,2,0,'0','','');</script>";
echo "$cad2";
}
}
?>
Que hay de pasarse valores via cookie, las cookies son accesibles dede cualquiera de los lenguajes...
| Por: kratoxx, J. Gerardo Ramirez Hernandez | | 30/6/06
|
Con tecnologías como AJAX se puede implementar un paso de variables vía POST o GET desde un script java pricipal hacia php/asp, sin recargar la página. Obviamente, el regreso también puede implementarse como un flujo de datos que hay que formatear para asignar a variables locales en el script principal.
SALUDOS!
Vi este foro y me puse a trabajar en el y encontre gracias a otros foros la manera de pasar variables de javascript a php
ejemplo
Necesitaba cargar una consulta a la bd dependiendo de lo que existiera en una lista ( list/menu), pero tenia ese problema y la solucion es esta
en el select
<select name="titulos" size="7" class="textos" onChange="datos();">
llamamos una funcion en javascript para revibir el valor de el para filtrarlo en la consulta
javascript:
<script>
function datos(){
var variable = window.document.examenes.titulos.value;
pagina="agexamen.php?consulta="+variable;
window.location = pagina;
}
</script>
y eso seria todo
espero ayudarle sino escribanme
cortes.dario@gmail.com
y les enviare el codigo completo
aios :)
Saludos a todos, no soy gran experto en programacion ni nada parecido pero yo he encontrado una manera facil de pasar variables de Javascript a PHP desde hace algun tiempo, una vez se me olvido como hacerlo pero ya lo recurdo y buscando esa manera encontre este foro y quisiera contribuir, la forma en que lo hago es la siguiente:
<?php
$a= '<script language="javascript" type="text/javascript">document.write("hola");</script>';
echo $a." esta es una variable en PHP";
?>
algunos pensaran que lo que se imprime es el javascript por lo que le concatene un mensaje si quieren ponganle comentarios al echo y veran que no imprime nada lo cual confirma que efectivamente la variable esta en PHP
SALUDOS A TODOS
<?php
$a= '<script language="javascript" type="text/javascript">document.write("hola");</script>';
echo $a."asdasd";
?>
espero que les sirva
| Por: Roberto Loeza | | 12/1/07
|
Hay que tener en cuenta que como dice en el articulo, el orden en que se ejecutan los scripts. Si bien es cierto que para pasar variables de ASP a Javascript es muy simple, con un poco de practica se pueden pasar variables de Javascript a traves de un Form o desde la URL, a los Scripts y ejecutarse de nuevo. Para pasar variables de ASP a Javascript basta con
<%
dim asp_var
asp_var="Desde ASP"
%>
<script>
var javascript_var
javascript_var='<%=asp_var%>'
javascript_var=javascript_var+" Hacia Javascript"
document.write(javascript_var)
</script>
Resulta muy Interesante el codigo generado, que es completamente comprensible por alguien que conozca algo de Javascript
Por Otro Lado el proceso inverso es bastante complejo, el objetivo es enviar nuestras variables de javascript a campos de Formularios que pueden ser facilmente recogidos por ASP/PHP
<%
dim var_asp
var_asp=request.form("texto")
var_asp=var_asp&" Hacia ASP"
response.write var_asp
%>
<script>
var javascript_var;
javascript_var="desde Javascript"
function post_back(){
document.forms[0].texto.value=javascript_var
document.forms[0].submit()
}
</script>
<input type="button" value="Enviar" onClick="post_back()">
<form method="post">
<input type="hidden" name="texto">
</form>
tambien se pueden pasar a traves de la URL con window.location desde Javascript. ademas sepueden pasar parametros con este metodo
<%
dim var_asp
var_asp=request.querystring("texto")
var_asp=var_asp&" Hacia ASP y u parametro "& request.querystring("param")
response.write var_asp
%>
<script>
var javascript_var;
javascript_var="desde Javascript"
function ir(javascript_param){
window.location=window.location + "?texto="+ javascript_var + "&asp_param=" + javascript_param
}
</script>
<a href="javascript:ir('parametro')">
Cabe Recalcar que cuando pasas variables por un form (primer metodo) las variables las recoges con request.form (HTTP_POST_VARS en PHP), y cuando las pasas por la url (segundo metodo) las variables la recoges con request.querystring (HTTP_GET_VARS en PHP)
Roberto Loeza
roberto.loeza@imss.gob.mx
Hola para capturar las variables en javascript usar esto:
cadVariables = location.search.substring(1,location.search.length);
Mi aporte...
<?
$variable_php="TEST";
echo '<script languaje="JavaScript">
function test(){
var varjs="'.$variable_php.'";
alert(varjs);
}
</script>';
?>
<p onclick="test();">TEST</p>
Ni lo uno ni lo otro, este es el código que funciona
<? $variable_php="monny"; ?>
<script language="javascript">
var varjs="<? echo $variable_php ?>";
alert(varjs);
</script>
La opnion de monica funciona perfectamente.
gracias.
----------------------------
esto lo coloco unicamente para las personas que buscan lo mismo que nosotros en este articulo
"no esta definido"
"php a javascript"
"javascript a php"
"variables php a javascript"
--- el resto sera tarea de los motores de busqueda
| Por: Heber Alejandro Arce Sanchez | | 30/10/07
|
Hola, saludos...
Mi comentario es que efectivamente no se pueden pasar variables de javascript a php, por el orden en que son ejecutados, la forma que proponia fernando esta incorrecta, ya que al hacer esto:
$a='<script languaje=....';
echo $a;
es lo mismo que hacer:
echo "<script languaje=....";
de esta forma no pasamos ningun valor a alguna variable, solo estamos ejecutando un script de java, atravez de un echo...
yo lo que hago para pasar las variables de asp a javascript es lo siguiente.
dentro del head creo el escript que contendra las variables
<head>
<script type="text/javascript">
var variable_js;
</script>
</head>
Dentro del body creo variables html (los inputs de tipo oculto) con el valor que necesito o en su caso la respuesta de alguna consulta como por ejemplo el id de alguna tupla en una base de datos:
<input type="hidden" id="hidden1" value=<% = variable_ASP %> />
o
<input type="hidden" id="hidden1" value=<% = Request.Form("valorRecibido") %> />
o
<input type="hidden" id="hidden1" value=<% = oRS(0) %> />
despues de eso, coloco otro poco de codigo javascript (este ya dentro del body, ensegida despues de haber creado el hidden) asignandole a la variable de javascript el valor del hidden..
<script type="text/javascrip">
variable_JS=document.getElementDyId('hidden1').value;
</script>
y eso es todo lo que hago. lso hidden los creo en forma dinamica en respuesta al codigo asp, esto es con ayuda de los if, then, else, asi tambien dentro de estos quedan los fragmentos de codigo de javascript.
para alguna pregunta consultarme a mi correo
malandres85@yahoo.com.mx