Foros del Web » Programando para Internet » Javascript »

pasar variables

Estas en el tema de pasar variables en el foro de Javascript en Foros del Web. hola!.. necesito abrir una nueva ventana sin que se cambie la ventana actual.. entonces opté por crear un boton que me cree otra ventana.. con ...
  #1 (permalink)  
Antiguo 17/09/2008, 10:16
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
pasar variables

hola!..
necesito abrir una nueva ventana sin que se cambie la ventana actual..

entonces opté por crear un boton que me cree otra ventana.. con window.open
pero necesito pasarle variables php a esa nueva ventana!.

puedo pasar datos así?
  #2 (permalink)  
Antiguo 17/09/2008, 10:30
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: pasar variables

No podés pasar variables de PHP, a menos que sean de sesión o se las pases en la URL.
Sin ver el código que estás usando, es difícil dar más detalles.


Saludos.
  #3 (permalink)  
Antiguo 17/09/2008, 10:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

ok.. mira.. estoy haciendo pruebas aparte... para ver si funcionaba..

esta es la pagina pruebas2.php:

Código PHP:
<script language="javascript" type="text/javascript">
var caracteristica="toolbar=0, scrollbars=1, width=550, height=250, resizable=0, left=450, top=500";

function ventana(boton)
{
if(boton.name=="reque_dev")
window.open("http://localhost/WBS/pruebas.php","",caracteristica);
}
</script>

</head>

<body>
<?php 
$nombre
="susan";
?>



<label>&nbsp;Monto:</label>
<input name="monto" type="text" size="20" maxlength="15" />
<form  method="post">
<input name="prueba" type="hidden" value="<?php echo $nombre?>" />
<input name="reque_dev" type="button"  value="DV" onclick="ventana(this);" />
</form>
<p>
la otra pagina que recibiria es la de pruebas.php:

Código PHP:
<?php 
$nombre
=$_POST['nombre'];

echo 
"Si pasó el dato y el nombre es::: ---> ".$nombre;

?>
es lo primero que se me ocurrió
  #4 (permalink)  
Antiguo 17/09/2008, 10:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: pasar variables

Según entendí parece que quieres enviar un formulario a la ventana nueva, mira este artículo por caricatos: http://www.maestrosdelweb.com/editorial/formenlaces/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 17/09/2008, 10:48
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: pasar variables

Si es una situación simple como ésta, podés enviar el parámetro via URL, cambiando tu función a
Código javascript:
Ver original
  1. function ventana(boton) {
  2.     if(boton.name=="reque_dev") {
  3.         window.open("http://localhost/WBS/pruebas.php?nombre=<?php echo $nombre; ?>","",caracteristica);
  4.     }
  5. }


Edito para no repetir lo mismo que aparece en el enlace que te dejó David
  #6 (permalink)  
Antiguo 17/09/2008, 10:51
Avatar de EPROM  
Fecha de Ingreso: abril-2005
Mensajes: 51
Antigüedad: 19 años
Puntos: 3
Respuesta: pasar variables

Con lo que dice @alvlin, sólo faltaría modificar el POST x GET:

Código:
   1. <?php
   2. $nombre=$_GET['nombre'];
   3.
   4. echo "Si pasó el dato y el nombre es::: ---> ".$nombre;
   5.
   6. ?>
  #7 (permalink)  
Antiguo 17/09/2008, 11:01
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

ok dejenme ver...
ahorita les digo...
  #8 (permalink)  
Antiguo 17/09/2008, 11:15
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

no me muestra la variable! o no la pasa!

ya cambie todo a get.
pruebas2.php

Código:
var caracteristica="toolbar=0, scrollbars=1, width=550, height=250, resizable=0, left=450, top=500";

function ventana(boton)
{
if(boton.name=="reque_dev")
window.open("http://localhost/WBS/pruebas.php?nombre=<?php echo $nombre; ?>","",caracteristica);
}
</script>

</head>

<body>
<?php 
$nombre="susan";
?>



<label>&nbsp;Monto:</label>
<input name="monto" type="text" size="20" maxlength="15" />
<form  method="get">
<input name="prueba" type="hidden" value="<?php echo $nombre; ?>" />
<input name="reque_dev" type="button"  value="DV" onclick="ventana(this);" />
</form>
<p>
pruebas.php

Código:
$nombre=$_GET['prueba'];

echo "Si pasó el dato y el nombre es::: ---> ".$nombre;
  #9 (permalink)  
Antiguo 17/09/2008, 11:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: pasar variables

Es que de esa forma no estás enviando el formulario, solo estás enviando una variable llamada nombre con el valor:
Código:
http://localhost/WBS/pruebas.php?nombre=<?php echo $nombre; ?>
Ese nombre es la única variable que estás pasando, no estás enviando el formulario, para enviar el formulario, ¿has leído el enlace que te pasé?.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 17/09/2008, 11:37
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

Cita:
Iniciado por alvlin Ver Mensaje
Si es una situación simple como ésta, podés enviar el parámetro via URL, cambiando tu función a
Código javascript:
Ver original
  1. function ventana(boton) {
  2.     if(boton.name=="reque_dev") {
  3.         window.open("http://localhost/WBS/pruebas.php?nombre=<?php echo $nombre; ?>","",caracteristica);
  4.     }
  5. }


Edito para no repetir lo mismo que aparece en el enlace que te dejó David
no me funcionó.. ?¡?¡?¡?¡?¡
  #11 (permalink)  
Antiguo 17/09/2008, 11:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: pasar variables

¿Has leído el último mensaje que te dejé? .

Te he dicho que no estás enviando el formulario mientras que con el código de tu archivo PHP estás tratando de obtener los datos de ese formulario, lo cual no tiene sentido, si quieres enviar el formulario en el popup LEE el artículo que te mencioné.

Porque de la forma como estás haciendo lo único que estás enviando es una variable llamada "nombre".

EDITO: Y si es ese único dato el que quieres enviar no necesitas el formulario, lo único que debes cambiar es en el archivo PHP poner en vez de prueba, poner nombre.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 17/09/2008, 12:07
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

Cita:
Iniciado por David el Grande Ver Mensaje
¿Has leído el último mensaje que te dejé? .

Te he dicho que no estás enviando el formulario mientras que con el código de tu archivo PHP estás tratando de obtener los datos de ese formulario, lo cual no tiene sentido, si quieres enviar el formulario en el popup LEE el artículo que te mencioné.

Porque de la forma como estás haciendo lo único que estás enviando es una variable llamada "nombre".

EDITO: Y si es ese único dato el que quieres enviar no necesitas el formulario, lo único que debes cambiar es en el archivo PHP poner en vez de prueba, poner nombre.
perdon David, ya lo leí.. y me resultó..
con el formulario... GRACIAS!!!!

pero ahora que mencionas que si lo unico dejame checarlo...
  #13 (permalink)  
Antiguo 17/09/2008, 12:10
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

Código:
<script language="javascript" type="text/javascript">
var caracteristica="toolbar=0, scrollbars=1, width=550, height=250, resizable=0, left=450, top=500";
</script>

</head>

<body>
<?php 
$nombre="susan";
?>



<label>&nbsp;Monto:</label>

<form  name="formulario" action="pruebas.php" target="ventana" onsubmit="window.open('http://localhost/WBS/pruebas.php','ventana',caracteristica);" method="post">
<input name="monto" type="text" size="20" maxlength="15" />
<input name="prueba" type="hidden" value="<?php echo $nombre; ?>" />
<input name="reque_dev" type="submit"  value="DV" />
</form>
<p>
y la otra quedo asi..

Código:
$pasada=$_POST['prueba'];
$monto=$_POST['monto'];

echo "Si pasó el dato y el nombre es::: ---> ".$pasada."<br>";

echo "montos::: ".$monto;
y si quedó!!!!!!!!!!!! gracias!!!!
  #14 (permalink)  
Antiguo 17/09/2008, 12:23
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

Cita:
Iniciado por David el Grande Ver Mensaje
¿Has leído el último mensaje que te dejé? .

Te he dicho que no estás enviando el formulario mientras que con el código de tu archivo PHP estás tratando de obtener los datos de ese formulario, lo cual no tiene sentido, si quieres enviar el formulario en el popup LEE el artículo que te mencioné.

Porque de la forma como estás haciendo lo único que estás enviando es una variable llamada "nombre".

EDITO: Y si es ese único dato el que quieres enviar no necesitas el formulario, lo único que debes cambiar es en el archivo PHP poner en vez de prueba, poner nombre.

oye david... eso si me funciona en mis paginas de prueba .. pero ya en mi aplicacion..
no me acordaba que ya tengo en existencia un formulario... y dentro de ese formulario quiero poner el que acabo de descubrir aqui contigo... pero creo que no se puede?..

asi que seria con la opcion de la url.. no?..
pero ya cambie otra vez todo... con get.. quite el formulario... y la mande en la direccion .. yno me la manda!!
  #15 (permalink)  
Antiguo 17/09/2008, 12:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: pasar variables

¿Podrías poner el código como lo tienes ahora?. Yo opino que es mejor la opción del formulario que con la URL (es más accesible). Habrá que ver por qué no funciona en tu caso.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #16 (permalink)  
Antiguo 17/09/2008, 12:33
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

Cita:
Iniciado por David el Grande Ver Mensaje
¿Podrías poner el código como lo tienes ahora?. Yo opino que es mejor la opción del formulario que con la URL (es más accesible). Habrá que ver por qué no funciona en tu caso.

ok.. cual codigo quieres que te muestre... el que uso get?.. o el de mi aplicacion.. por que el de la aplicacion es muy largo!. pero si quieres lo pongo. --
tal vez por que lo tengo en tablas?
  #17 (permalink)  
Antiguo 17/09/2008, 12:35
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

pruebas2.php

Código:
<script language="javascript" type="text/javascript">
var caracteristica="toolbar=0, scrollbars=1, width=550, height=250, resizable=0, left=450, top=500";

function ventana(boton)
{
if(boton.name=="reque_dev")
window.open("http://localhost/WBS/pruebas.php?nombre=<?php echo $nombre; ?>","",caracteristica);
}
</script>

</head>

<body>
<?php 
$nombre="susan";
?>



<label>&nbsp;Monto:</label>
<input name="monto" type="text" size="20" maxlength="15" />
<input name="reque_dev" type="button"  value="DV" onclick="ventana(this);" />

<p>
pruebas.php
Código:
$nombre=$_GET['nombre'];


echo "Si pasó el dato y el nombre es::: ---> ".$nombre."<br>";
  #18 (permalink)  
Antiguo 17/09/2008, 12:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: pasar variables

Eso debería funcionar, ¿tienes certeza que pruebas2.php tiene una variable llamada $nombre?, ya que esa variable la estás imprimiendo en el código Javascript, mira en el código resultante (en tu navegador) si realmente está imprimiendo algo allí.

En realidad, me refería al código de tu "aplicación", que puedes resumirlo, colocar solo la parte del formulario que nos interesa.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #19 (permalink)  
Antiguo 17/09/2008, 12:50
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

Código:
<form  name="frm1" method="post">
<tr>
<td><table border="0" cellspacing="0" cellpadding="0" width="257" id="menu1" bgcolor="#E6F3FF">

<td width="257" id="menu1"><a href="javascript:;" class="menu1">PLANEACIÓN</a></td>
</tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="257" id="navigation" bgcolor="#E6F3FF">
        <tr>

etc.. etc... 

<tr>
<td> 
<label>&nbsp;Actividad:</label>
<input name="activ" type="text" size="50" maxlength="45"/>
<p>

<label>Fecha Inicio: </label>
<input type="text" name="startdate" id="startdate" onfocus="popup1.setTarget(this);" />

<label>&nbsp;&nbsp;Fecha Término: </label>
<input type="text" name="enddate" id="enddate" onfocus="popup1.setTarget(this);" />

<br>
<label>Tipo Moneda:</label>
<select name="t_moneda">
<option value="1">MN</option>
<option value="2">USD</option>
</select>

<form  name="formulario" action="pruebas.php" target="ventana" onsubmit="window.open('http://localhost/WBS/pruebas.php','ventana',caracteristica);" method="post">
<label>&nbsp;Monto:</label>
<input name="monto" type="text" size="20" maxlength="15" />
&nbsp;
<input name="reque_dev" type="submit"  value="DV" />
<p>
</form>
<label>Linea Base:</label>
<input name="lb" type="text" size="4" maxlength="2" />
<p>
<label>Justificación: </label>
<textarea name="justifica" cols="50" rows="1"></textarea>
<br />


<input name="cont_fase" type="hidden" value="<?php echo $cont_fase;?>"/>
<input name="cont_subf" type="hidden" value="<?php echo $cont_subf;?>"/>
<input name="cont_activ" type="hidden" value="<?php echo $cont_activ;?>"/>
</td>
</tr>

<tr>
  <td><input name="afase" type="button" value="Fase"  onclick="envia2('agrega_fase.php');"/>&nbsp;
  <input name="asubf" type="button" value="Subfase"  onclick="envia2('agrega_subfase.php');"/>&nbsp;
  <input name="aactiv" type="button" value="Actividad"  onclick="envia2('agrega_activ.php');"/>&nbsp;</td></tr>


etc etc ...... 

</table>
</td>
</tr>
</form>
</table>

<?php mysql_free_result($Recordset);
mysql_free_result($Recordset1); ?>
</body>
</html>
al incluirle el nuevo form.. me descuadra toda mi aplicacion... y en el editor me dice que me sobra un </form> </table>...
  #20 (permalink)  
Antiguo 17/09/2008, 12:56
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: pasar variables

No puedes tener un formulario dentro de otro formulario, por eso no te está funcionando, y segundo, realmente un </table> está sobrando .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #21 (permalink)  
Antiguo 17/09/2008, 12:59
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

entonces!!!!!!!!!!!
  #22 (permalink)  
Antiguo 17/09/2008, 13:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

voy a comer... regreso en 2 hr.. ojalá te encuentre cuando regrese ...
  #23 (permalink)  
Antiguo 17/09/2008, 15:23
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

hola david-.. estas por ahi?
  #24 (permalink)  
Antiguo 17/09/2008, 15:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: pasar variables

Estoy, ¿has separado los dos formularios como te había dicho?. ¿Te ha funcionado?

P.S.: Aquí también hay mucha gente capacitada que puede ayudarte, no solo yo .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #25 (permalink)  
Antiguo 17/09/2008, 15:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

Cita:
Iniciado por David el Grande Ver Mensaje
Estoy, ¿has separado los dos formularios como te había dicho?. ¿Te ha funcionado?

P.S.: Aquí también hay mucha gente capacitada que puede ayudarte, no solo yo .
separado?.. mm no me lo habias sugerido.. pero .. dejame hacerlo...

P.S.: ya se que hay muchas personas capacotadas por aquí.. pero pues no me contestan .. o no andan por aqui..
  #26 (permalink)  
Antiguo 17/09/2008, 15:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: pasar variables

Cierto, ahora que me doy cuenta, no te lo había dicho explícitamente. Pero te había dicho que no debes tener un formulario dentro de otro .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #27 (permalink)  
Antiguo 17/09/2008, 16:24
 
Fecha de Ingreso: agosto-2008
Mensajes: 173
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: pasar variables

creo que ya me resulto pero necesito deshabilitar 3 botones .. para que primero el usuario llene lo que hay en el 2do formulario..

hay algun escript.??. que pueda relacionar cuando accione el boton del segundo formulario para que se activen los 3 botones del primer formulario ?

Código:
<form  name="frm1" method="post">
<table id="contenido" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>  
<td id="tagline"> Registro de Datos</td>
</tr>

<tr>
<td>&nbsp;<p> </td>
</tr>

<tr>
<td id="estatic"><?php echo "Obra: ".$robra."<br>";
echo "Fase: ".$row_Recordset['descrip_fase']."<br>";
echo "SubFase: ".$row_Recordset1['descrip_subf']."<br>";?></td> 
</tr>

<tr>
<td> 
<input name="robra" value="<?php echo $robra; ?>" type="hidden" />
<input name="ridfase" value="<?php echo $ridfase; ?>" type="hidden" />
<input name="ridsubf" value="<?php echo $ridsubf; ?>" type="hidden" />
<input name="ppresup" value="<?php echo $ppresup; ?>" type="hidden" />
<input name="pfinanc" value="<?php echo $pfinanc; ?>" type="hidden" /> 

&nbsp; <br /></td>
</tr>


<tr>
<td> 
<label>&nbsp;Actividad:</label>
<input name="activ" type="text" size="50" maxlength="45"/>
<p>

<label>Fecha Inicio: </label>
<input type="text" name="startdate" id="startdate" onfocus="popup1.setTarget(this);" />

<label>&nbsp;&nbsp;Fecha Término: </label>
<input type="text" name="enddate" id="enddate" onfocus="popup1.setTarget(this);" />

<p>
<label>Tipo Moneda:</label>
<select name="t_moneda">
<option value="1">MN</option>
<option value="2">USD</option>
</select>

<label>Linea Base:</label>
<input name="lb" type="text" size="4" maxlength="2" />
<p>
<label>Justificación: </label>
<textarea name="justifica" cols="50" rows="1"></textarea>
<br />


<input name="cont_fase" type="hidden" value="<?php echo $cont_fase;?>"/>
<input name="cont_subf" type="hidden" value="<?php echo $cont_subf;?>"/>
<input name="cont_activ" type="hidden" value="<?php echo $cont_activ;?>"/>
</td>
</tr>

<tr>
  <td><input name="afase" type="button" value="Fase" onclick="envia2('agrega_fase.php');"/>&nbsp;
  <input name="asubf" type="button" value="Subfase" onclick="envia2('agrega_subfase.php');"/>&nbsp;
  <input name="aactiv" type="button" value="Actividad" onclick="envia2('agrega_activ.php');"/>&nbsp;<p><p></td></tr>

</form>


<tr>
<td>
<form  name="formulario" action="pruebas.php" target="ventana" onsubmit="window.open('http://localhost/WBS/pruebas.php','ventana',caracteristica);" method="post">

<label>&nbsp;Monto:</label>
<input name="monto" type="text" size="20" maxlength="15" />
&nbsp;
<input name="ppresup" type="hidden" size="20" maxlength="15" value="<?php echo $ppresup; ?>" />
<input name="reque_dev" type="submit"  value="DV" />
</form></td>
</tr>
</table>
asi quedo...
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 15:42.