Foros del Web » Programando para Internet » Javascript »

paso de variables a popup

Estas en el tema de paso de variables a popup en el foro de Javascript en Foros del Web. Hola, nose mu bn si poner este tema en html, php o javascritp..xo weno Llevo unos dias dandole vueltas a un asunto xo no logro ...
  #1 (permalink)  
Antiguo 25/11/2008, 09:49
 
Fecha de Ingreso: octubre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta paso de variables a popup

Hola, nose mu bn si poner este tema en html, php o javascritp..xo weno

Llevo unos dias dandole vueltas a un asunto xo no logro implementar lo siguiente:

Supongamos que tenemos un formulario con algun input text, options, selects y un sumbit por el cual procesaremos los datos mediante un php y lo enviaremos, hasta ai, todo facil y sencillo.

El problema:

El usuario va rellenando el formulario, y llega a una parte donde hay tres selects(x ejemplo). imaginemos q el usuario selecciona, modelo1 para el primer select, modelo2 para el segundo y modelo3 para el tecero. Quiero poner un sumbit o link acia un popup q me coja esos tres valores unicamente (el resto del formulario no)y en ese popup ya trabajaré yo con esos tres valores introducidos por el usuario.

En resumen, la pregunta sería: ¿como hago para pasar ciertos datos introducidos por el usuario en un formulario a un popup antes de procesarlo?

He intentado de varias maneras xo no logro conseguirlo.

alguna idea?

saludos, y gracias de antemano!
  #2 (permalink)  
Antiguo 25/11/2008, 10:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: paso de variables a popup

Depende del caso, podría ser con Javascript, abrir el popup con window.open() y desde el popup obtener los datos de la ventana principal con opener.document.(...), pero, deberías especificar mejor qué es lo que vas a hacer con esos datos en el popup.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 25/11/2008, 10:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: paso de variables a popup

En el popup, dependiendo de esas tres variables se mostraran tres imagenes.

Digamos q esas imagenes muestran los tres modulos de un armario. por eso kiero q el cliente vea como va a kedar dependiendo del modulo q elija antes de enviar todo el formulario.

el tema esta, en que un scrip php puede procesar eso muy facilmente con un post y tal..y ya tendría las varibles para acer con ellas lo q qisiese, el problema viene cuando kiero enviar el formulario completo..solo puedo utilizar un action y ese ya lo e gastao con el script php anterior.

En un post anterior m comentaron como q un formulario no se pdria prcesar por dos scripts php, salvo con un if. (si el sumbit es tal, az esto, si es otoa az tal cosa..) xo en este caso creo q eso no vale.
  #4 (permalink)  
Antiguo 25/11/2008, 10:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: paso de variables a popup

Tema trasladado a Javascript.
  #5 (permalink)  
Antiguo 25/11/2008, 10:43
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: paso de variables a popup

Supongamos que el primer select se llama y tiene como id "elprimero", para el segundo "el segundo" y asi sucesivamente. Para hacer que los valores se envien al popup hay que usar una funcion javascript, entonces crea un boton
Código:
<input type="button" value="Vista Previa" onclick="javascript:mostrarpopup();">
Como ves esta invocando una funcion javascript que deberá recoger los valores de los select y luego enviarselos via GET al popup
Código:
function mostrarpopup() {
// Busco el valor del primer select
elemento1 = document.getElementById('elprimero');
valor1=elemento1.value;
window.open('mipopup.php?valor1='+valor1, 'mi ventana', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=320,height=240');");
}
Ese codigo esta incompleto hay que agregar los otros select y agregarlos a la cadena GET () que quedara algo asi como mipopup.php?valor1=valor1&valor2=valor2&valor3=val or3

Como ves no uso para nada el submit
  #6 (permalink)  
Antiguo 25/11/2008, 10:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: paso de variables a popup

muchas gracias Xlogus, lo probaré aora mismo!
  #7 (permalink)  
Antiguo 25/11/2008, 12:43
 
Fecha de Ingreso: octubre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Exclamación Respuesta: paso de variables a popup

Xlogus, el codigo va a la perfección, muxas gracias.

Lo único es que en mi caso funciona a medias, me explico.

Resulta que dpendiendo del valor que haya introducido el usuario en un formulario anterior, le pueden aparecer dos..tres..o hasta 8 selects d estos.

ejemplo: si el usuario a metido un valor entre 1000 y 1900 apareceran 3 selects, si el usuario mete entre 1900 y 2500 4.. y asi sucesivamente. Todo esto lo ago con un bucle en php, es decir, q a vcs abra 3 selcts otras 4, 5 u 8..

Con el codigo anterior, si defino asta 8 valores, el javascript ya no va en los casos en los q tnga menos de 8 selects ya que estos no existen (el bucle se abra parao en cuatro, x ejemplo, y los otros cuatro selects no existen, sin embargo en el siguiente código me stoy contradiciento al indicarle valores q no existen en realidad):

Código:
<script type="text/javascript">
function mostrarpopup() {
// Busco el valor del primer select
elemento1 = document.getElementById('modulo1');
valor1=elemento1.value;
elemento2 = document.getElementById('modulo2');
valor2=elemento2.value;
elemento3 = document.getElementById('modulo3');
valor3=elemento3.value;
elemento4 = document.getElementById('modulo4');
valor4=elemento4.value;
elemento5 = document.getElementById('modulo5');
valor5=elemento5.value;
elemento6 = document.getElementById('modulo6');
valor6=elemento6.value;
elemento7 = document.getElementById('modulo7');
valor7=elemento7.value;
elemento8 = document.getElementById('modulo8');
valor8=elemento8.value;
window.open('vistaprevia.php?valor1='+valor1, 'mi ventana', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=320,height=240');
}

</script>

la pregunta es: justo antes de cargar elementoi como se podria comprobar si existe o no ese select? hay algun modo de "engañar" al script para decirle q cuando halla menos de 8 selects, los q no existan los ponga vacios, a cero o diferenciarlos de alguna manera?

m vuelvo loooco! jej..



un saludo!

Última edición por ramirami; 25/11/2008 a las 12:52
  #8 (permalink)  
Antiguo 25/11/2008, 13:36
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: paso de variables a popup

Si se puede comprobar cuantos select existen al momento en que se envian datos al popup para eso hay que usar la funcion de javascript
Código:
nroItems =document.getElementsByTagName("select");
nroItems te dirá cuantos select existen en tu pagina, si deseas saber cuantos select hay solo en el formulario deberas usar un id en el formulario, luego en vez de "document" usar una variable que hay capturado el id del formulario contenedor.
Mas claro esta en esta pagina programacionweb.net/articulos/articulo/?num=420
  #9 (permalink)  
Antiguo 25/11/2008, 16:11
 
Fecha de Ingreso: octubre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Busqueda Respuesta: paso de variables a popup

Xlogus gracias x el link anterior..stoy a un paso de conseguirlo..xo sq nose si sq soy tonto o no tngo el dia..

esto es lo q toy haciendo en el script: miro cuantos selects hay, si hay dos cargamos en las variables los selects y mostramos popup. si hay tres selects, lo mismo, xo con tres variables.

Código:
<script type="text/javascript">
function mostrarpopup() {

//vemos cuantos selects tenemos en el form1
oSelect = document.getElementById("form1");
oItems = oSelect.getElementsByTagName("select"); 

//para dos selects...
if(oItems.length = 2){
elemento1 = document.getElementById('modulo1');
valor1=elemento1.value;
elemento2 = document.getElementById('modulo2');
valor2=elemento2.value;
window.open('vistaprevia.php?valor1='+valor1+'&valor2='+valor2, 'mi ventana', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=700,height=240');
}

//para tres selects...
else (oItems.length = 3){
elemento1 = document.getElementById('modulo1');
valor1=elemento1.value;
elemento2 = document.getElementById('modulo2');
valor2=elemento2.value;
elemento3 = document.getElementById('modulo3');
valor3=elemento3.value;
window.open('vistaprevia.php?valor1='+valor1+'&valor2='+valor2+'&valor3='+valor3, 'mi ventana', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=700,height=240');
}

}
</script>
y el botón..

Código:
<input type="button" value="Vista Previa" onclick="javascript:mostrarpopup();">
el caso sq sin ifs la cosa va bn, en el momento q mpiezo a "complicar" el script ya no tira..

con este codigo anterior, al pulsar el boton no hace nada...no responde..

seguro q es una tontuna..xo no logro verlo..:-p
  #10 (permalink)  
Antiguo 25/11/2008, 18: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
Respuesta: paso de variables a popup

Cuidado, estás poniendo = en las comparaciones (if), lo cual dará problemas, debe ser ==. Prueba y nos cuentas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 26/11/2008, 02:45
 
Fecha de Ingreso: octubre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: paso de variables a popup

Ola David, pues tb lo probé con == y el resultado era el mismo..al pulsar el boton "vista previa" no hacia nada..

He probado tb a meter el oItems.length en una nueva variable (x si no cogia el .length) xo da=, no hace caso..

La primera parte del codigo funciona perfectamnte, si hago un document.write(oItems.length) fuera del script, m saca el valor correcto, asi q tiene q ser en la parte de los ifs.. xo sq tpc veo nada incorrecto..

el codigo lo inserto dentro del body, justo debajo del bucle donde genero los selects..supongo q es el lugar correcto.

stoy un poco perdido..

Última edición por ramirami; 26/11/2008 a las 03:03
  #12 (permalink)  
Antiguo 26/11/2008, 06:15
 
Fecha de Ingreso: octubre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: paso de variables a popup

TEMA SOLUCIONADO...si sq sto no puede ser!

en vez de "else" ponemos un "else if" y solucionado, va como la seda...

gracias a todos!

  #13 (permalink)  
Antiguo 26/11/2008, 07:53
 
Fecha de Ingreso: octubre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: paso de variables a popup

NOOOO!

xq no va en IExplorer? y en firefox va como la seda??? grrrr. puto IExplorer ..


algo para solucionarlo
  #14 (permalink)  
Antiguo 26/11/2008, 09:16
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: paso de variables a popup

Bueno el IE siempre aguando la fiesta, sube tu codigo a Internet para revisar con un depurador que es lo que esta pasando, sino lo convertimos todo a jquery es mas sencilo cosa de acostumbrarse. Pero primero dame la direccion donde lo has subido
  #15 (permalink)  
Antiguo 26/11/2008, 09:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: paso de variables a popup

Cita:
Iniciado por XLogus Ver Mensaje
Bueno el IE siempre aguando la fiesta, sube tu codigo a Internet para revisar con un depurador que es lo que esta pasando, sino lo convertimos todo a jquery....
Bueno, ponerse con librerías complejas o no, para resolver un problema "puntual" es un mal consejo sin duda... lo que no entiendo desde un principio es ¿porqué no se usa un formulario normal...? y en destino solo recoger los datos necesarios...

hay una forma accesible de enviar variables a un popup (busca en maestrosdelweb.com, o en otros mensajes de este foro)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #16 (permalink)  
Antiguo 26/11/2008, 11:01
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: paso de variables a popup

caricatos, Lo decia en tono ironico lo de convertir a jquery :) , obviamente es mejor depurarlo y ver que falla en IE.

¿A que te refieres con un formulario normal? ¿te refires a un submit que envie datos a un popup?, porque eso es justamente lo que se quiere evitar.
Me dio curiosidad lo de la foma accesible de enviar variables al popup, puedes poner el link?, yo solo encontre este forosdelweb.com/f18/enviar-variables-popup-146764/ y es practicamente lo mismo que digo yo el tema va mas bien en la captura de datos sin enviar el formulario
  #17 (permalink)  
Antiguo 26/11/2008, 11:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: paso de variables a popup

Cita:
Iniciado por XLogus Ver Mensaje
caricatos, Lo decia en tono ironico lo de convertir a jquery :) , obviamente es mejor depurarlo y ver que falla en IE.

¿A que te refieres con un formulario normal? ¿te refires a un submit que envie datos a un popup?, porque eso es justamente lo que se quiere evitar
Creo que lo más absurdo es querer evitar los formularios normales... pueden valer en casos puntuales donde la página no vaya a ser visitada por ningún discapacitado que no dependan de javascript... si la página no es selectiva, debería ser accesible, y funcionar sin javascript... verás, mis primeras páginas eran para mis clientes de caricaturas, los cuales, evidentemente* ven bien, pero cuando me pongo el "disfraz" de webmaster, debo cuidar de que todos mis visitantes tengan acceso al contenido de las páginas (sin importar en lo posible las discapacidades y navegadores -que discapacitan-...)

(") En una ocasión para la tele tuve que pintar a una persona ciega, pero grabé el programa, y las secuencias del caso no salieron.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #18 (permalink)  
Antiguo 26/11/2008, 15:13
 
Fecha de Ingreso: octubre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Exclamación Respuesta: paso de variables a popup

Hola de nuevo! , no ntiendo muxo la discusion q stais teniendo, sobre todo caricatos, creo q Xlogus comprende mejor lo q qiero conseguir.
Se perfectamnte q ay gnte q no tiene habilitado javascript y esas cosas..xo si la gran mayoria en mi humilde opinion..(si m equivoco corrigeme xq aqi estoy para aprender..) si m piden algo, y solo con javascript se puede..q ago? xa q existe el javascript si ntoncs ay gnte q no puede "disfutarlo", xq ntoncs las paginas siguen utilizandolo? (m gustaria saber todo sto..xo weno aora no es el caso..supongo)

Explicaré mejor lo q qiero hacer, y con ello el motivo de no hacer un formulario "normal".

Un cliente de una tienda de muebles entra en la seccion "presupuestos de armarios"

PRIMER PASO: introduce unos valores (ancho, alto y profundidad), proceso esos valores con un php, y segun cuanto sea el ancho, en la siguiente pagina le muestro 2, 3, 4 selects dependiendo de la anchura introducida. (cada select corresponderá a un modulo interior de armario) hasta ai todo bien.

SEGUNDO PASO: Imaginemos q el usuario a metido 1350mm de ancho. Le aparecen 3 selects. (uno para cada modulo, en total 3) a su vez abrá un botón q sea "vista previa" q cuando se pulse sobre el aparezca un popu con tres imagenes (correspondientes a cada modulo) si el usuario no sta conforme simpre puede cerrar el popup y elegir otro modulo.

todo esto funciona a la perfeccion en FIREFOX, en IExplorer no.

Tal como m a pedido Xlogus, os dejo la direccion para q le exeis un vistazo, tanto en firefox como en IE y comprobeis los diferentes comportamientos.

http://www.arpuven.com/clientesaa.html (en el ancho, introducir un valor entre 1000 y 1900)

de toas formas no ntiendo a q a venido la "discusion"..


saludos y gracias de nuevo.

Última edición por ramirami; 26/11/2008 a las 15:22
  #19 (permalink)  
Antiguo 26/11/2008, 17:49
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: paso de variables a popup

Bueno el error era realmente muy simple, pero es que IE siempre hace doler la cabeza, modifica esta linea de codigo
Código:
window.open('vistaprevia.php?valor1='+valor1+'&valor2='+valor2+'&valor3='+valor3, 'miventana', 'toolbar=0, scrollbars=0, width=700, height=240');
Lo unico que he hecho es cambiar "mi ventana" por "miventana" :)
  #20 (permalink)  
Antiguo 27/11/2008, 03:23
 
Fecha de Ingreso: octubre-2008
Mensajes: 36
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: paso de variables a popup

gracias Xlogus, todo solucionado!

un saludo!
  #21 (permalink)  
Antiguo 27/11/2008, 05:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: paso de variables a popup

Cita:
Iniciado por XLogus Ver Mensaje
...
Me dio curiosidad lo de la foma accesible de enviar variables al popup, puedes poner el link?, yo solo encontre este forosdelweb.com/f18/enviar-variables-popup-146764/ y es practicamente lo mismo que digo yo el tema va mas bien en la captura de datos sin enviar el formulario
Hola:

No es mi intención discutir, por eso no volví a participar, pero ahora que parece estar el tema resuelto, voy a contestar eso de una forma accesible de enviar variables a un popup... todo está aclarado en este artículo: Formularios y enlaces dirigidos a ventanas... y es tan sencillo como hacer coincidir el target del formulario con el nombre de una ventana que se abra durante el envío del mismo (onsubmit)... se usa window.open para abrir la ventana, pero si está desactivado javascript también se abrirá el formulario en una ventana nueva, aunque no se consideraran las opciones.

Otro ejemplo de cosas que se pueden hacer a la vez con ajax y sin dejar de ser accesible, es esta galería: Ajax: Galería de imágenes paginada... si desactivas javascript, sigue funcionando tanto el sistema de pestañas como la paginación...

Sobre el asunto de los que no tienen javascript, aunque en la realidad es cierto, se han hecho tantas "chorradas absurdas" con ese lenguaje, que muchos usuarios han dejado de tenerlo activo, pero debo matizar que gracias a las nuevas implementaciones Ajax, se está volviendo a tener confianza en javascript.

Por cierto, me alegro de que se haya resuelto el tema.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #22 (permalink)  
Antiguo 27/11/2008, 07:11
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: paso de variables a popup

Luego de leer esa articulo que publicas Caricatos, entiendo tu punto de vista respecto a no meter javascript a diestra y siniestra y ademas que las cosas sigan funcionando si este no esta presente. Pero no coincido en la idea de ese post de mezclar el javascript con el html por eso prefiero usar jquery y los selectores para justamente evitar eso. ( no es el caso presente )

Si revisas bien este post veras que uso el popup pero no lo invoco directamente desde el action del formulario para evitar que se envien las variables ya que se requiere una vista previa. (es indispensable que no se envie el formulario)

Tampoco uso la segunda alternativa planteada que consiste en colocar un link que invoque al popup y no lo hago porque el objetivo es primero capturar ciertos datos asi que por orden prefiero invocar a una funcion que posteriormente invocara al popup.
  #23 (permalink)  
Antiguo 27/11/2008, 09:15
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: paso de variables a popup

Hola:

Hace poco en otro mensaje alguién (el amigo buzu ) comentó algo de un bug en Safari que fastidiaba el tema del burbujeo en los eventos de elementos creados dinámicamente, y aunque no sea el caso, yo me pregunto sobre la utopía de separar html de javascript... si algo funciona con una línea en una etiqueta html y para conseguir que funcione en todos los navegadores es "obligatorio" meter prácticamente toda una librería para separar html de javascript... Yo ya he decidido por cuál es el sistema que voy a usar... además, html también se combina con eventos y estilos... y otra complicación añadida es poner estilos dependiendo de los navegadores (filters y behaviors en explorer, por dar un ejemplo).

Te puedo asegurar que para crear un efecto/script básico, vivir en "utopía" dá demasiados dolores de cabeza, y está aceptado poner en los tags tanto onclick como onsubmit, etc...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 20:18.