Foros del Web » Programando para Internet » Javascript »

Pase de Variables

Estas en el tema de Pase de Variables en el foro de Javascript en Foros del Web. Bueno el siguiente problema, lo que quiero es pasar una variable de un formulario a otro. Esto es muy sencillo pero lo cierto es que ...
  #1 (permalink)  
Antiguo 12/12/2002, 15:15
 
Fecha de Ingreso: diciembre-2002
Mensajes: 144
Antigüedad: 21 años, 4 meses
Puntos: 1
Pase de Variables

Bueno el siguiente problema, lo que quiero es pasar una variable de un formulario a otro. Esto es muy sencillo pero lo cierto es que no he podido hacer.

un poco mas detallado.

el primer formulario que se llama encuesata.php llama a procesar_enc.php pero atravez de un javascript y esta aparece como un pop up centrado y pequeña. Pero no llega la variable yo la envio atravez de un metodo post.

Aqui le va el codigo. La variable se llama encuesta y es un boton tipo radio
Código:
<script language="javascript">
function abrirVentanavotar()
{
ancho=(screen.width-480)/2
alto=(screen.height-477)/2
atributos="width=480,height=477,left=" + ancho + ",top=" + alto
ventana= window.open('../encuesta/procesar_enc.php?votar=true','',atributos)
}
function abrirVentanaver()
{
ancho=(screen.width-480)/2
alto=(screen.height-477)/2
atributos="width=480,height=477,left=" + ancho + ",top=" + alto
ventana= window.open('../encuesta/procesar_enc.php','',atributos)
}
</script>
Código PHP:
<?php
echo "<form method='post' action=''>"
echo 
"<table width='175' border='0' cellspacing='0' cellpadding='0' align='center'>";
echo 
"<tr><td>";
echo 
"<table width='125' border='0' cellspacing='0' cellpadding='0'>";
echo 
"<tr><td bgcolor='#008DEC'>&nbsp;&nbsp;<font color='#FFFFFF'>ENCUESTA</font></td></tr>";
echo 
"</table>";
echo 
"</td><td>&nbsp;</td></tr>";
echo 
"<tr><td colspan='2'>";
echo 
"<table width='175' border='1' cellspacing='0' cellpadding='0' height='200' bordercolor='#008DEC'>";
echo 
"<tr><td>";
//generar la pregunta y opciones
$sql=mysql_query("select * from encuesta where prioridad='1'",$link);
$filas=mysql_num_rows($sql);
$rows=mysql_fetch_array($sql);
         if (
$filas!=0)
         {
            echo 
"<font face='Verdana, Arial, Helvetica, sans-serif'><center><b>¿ ".$rows["pregunta"]." ?</b></center></font><br><p>";          
            
$rep 1;

            while(
$rep <= $rows["cant_opcion"])
            {
                echo 
"&nbsp;&nbsp;&nbsp;<input type='radio' name='encuesta' value='$rep'> <font face='Verdana, Arial, Helvetica, sans-serif'>".$rows["opcion$rep"]." </font><br>";
                
$rep++;
            }
         }
echo 
"</td></tr>";
echo 
"<tr><td height='20' bgcolor='#008DEC'><div align='center'>";
echo 
"<input class=boton type='button' name='B1' value='Votar' onClick='abrirVentanavotar()'> &nbsp;&nbsp;&nbsp;<input class=boton type='button' value='Resultado' name='B2' onClick='abrirVentanaver()'></div></td></tr>";
echo 
"</table>";
echo 
"</td></tr>";
echo 
"</table>";
echo 
"</form>"
mysql_close($link);
?>
La conecion a la BD ya esta hecha. Bueno mas detallado no puedo ser.

Haaa. los dos son como una especie de libreria son llamdos por un include_once y el procesar_enc.php de habre con un pop up atravez del javascript y yo le coloco el el signo $ y nada. intente de distntas formas pero nada y aqui estoy. a punto de colapsar de rabia.


Bueno espero que me ayuden ya que tengo que entregar eso lo ante posible.
  #2 (permalink)  
Antiguo 12/12/2002, 15:24
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Para enviar el formulario debes usar el metodo javascript submit(). Haciendo un window.open() solo pasas los parametros que le pongas en la URL. En el foro de Javascript discutieron hace un tiempo como hacer que el submit de un formulario se abriera en un pop-up creada con window.open(). Mira en el buscador o vuelve a preguntarlo en el foro de javascript. Porque no es un problema de PHP.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 12/12/2002, 15:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Bueno espero que me ayuden ya que tengo que entregar eso lo ante posible.
Paciencia amigo, paciencia .. q en forosdelweb.com se participa por amor al arte ...


Porqué dices q le pasas las variables por POST .. si el form action NO apunta a ninguna página? ...

Osese .. tus rutinas javascrip SOLO abren la ventana (tu popup) pero no le pasan variables a ese popup ... En ningun momento haces un "sumbit" al servidor ..

Lo que tienes que hacer es pasar como parametro el la variable encuesta (esto ya lo podrias decir haberlo dicho tu en vez de tirar el código y ahi está) ... al abrir tu popup .. En este caso entraran por GET no por POST ...

Vas a tener que pasarle algun parmetro (o solo la variable o todo el URL completo con las variables q uses ...) para construir en javascript tu:

ventana= window.open('../encuesta/procesar_enc.php?votar=true&encuesta=.....','',atr ibutos)

Un saludo,



Un saludo,
  #4 (permalink)  
Antiguo 13/12/2002, 12:57
 
Fecha de Ingreso: diciembre-2002
Mensajes: 144
Antigüedad: 21 años, 4 meses
Puntos: 1
Bueno un saludo a todos y me disculpan por usar los forosdelweb.com para una urgencia.

ok. volviendo al tema, yo pudiera pasar la opción de la encuesta atravez de ......votar=true$encuesta=2 y me la recibe . pero el valor de la encuesta varia de 1 a 5 y no se como asignarle una variable a encuesta en javascript, votar=true&encuesta=variable. La variable esta en una opcion de tipo radio en codigo php que debe ser seleccionada por el usario y despues dar clik en el boton VOTAR que llama a funcion abrirVentanavotar().

De hay llama a procesar_enc.php que se abre como un pop-up. si me pueden especificar como recivirla mejor.

Soy un novato en JavaScript..
  #5 (permalink)  
Antiguo 13/12/2002, 15:02
 
Fecha de Ingreso: diciembre-2002
Mensajes: 144
Antigüedad: 21 años, 4 meses
Puntos: 1
Bueno he solucionado el problema gracias

Lo solucione leyendo el FAQ de Javascript.
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 19:41.