Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Problema con php y javascript (https://www.clubdelphi.com/foros/showthread.php?t=16246)

Andrea Martinez 21-11-2004 00:59:35

Problema con php y javascript
 
Hola a todos.
Tengo un problema con la generacion de un popup, en una pagina inicial hay un formulario compuesto de un select y un boton que enviara un dato hacia el script de php para procesarlo, la idea es que al presionar el boton me habra un popup con la pagina php, al momento de pasar la variable del select (sel_ano_ind) por el metodo post, como que el script del popup me la borra y me aparace como indefinida al ejecutar el php.

Estoy seguro que es la ejecucion del popup que borra la variable porque quito el llamado del script y me habre una pagina normal con las variables bien definidas.

espero me ayuden con este problema, les envio el codigo. gracias...

Código PHP:

<form name="formindicadores" method="POST" action="javascript:popUp('indicadores.php')">
<
td width="47%" class="Texto"><strong>Indicadores: </strong></td>
<
td width="41%"
<
select name="sel_ano_ind" class="Texto" id="sel_ano_ind">
<
option value="1998">1998</option>
<
option value="1999">1999</option>
<
option value="2000">2000</option>
<
option value="2001">2001</option>
<
option value="2002">2002</option>
<
option value="2003">2003</option>
<
option value="2004">2004</option>
<
option value="0" selected>Elija una Opcion</option>
</
select>
<
input type "hidden" name "munic" value ="006">
</
td>
<
td width="12%"><input name="Submit" type="submit" class="botonver" value="Ver"></td>
</
form>
 
<
SCRIPT LANGUAGE="JavaScript">
<!-- 
Begin
function popUp(URL) {
day = new Date();
id day.getTime();
eval(
"page"+id+"=window.open(URL,'"+id+"','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=600,heig
 
ht=500,left=1,top=1');"
);
}
// End -->
</script> 

Gracias....:)

kayetano 22-11-2004 12:04:41

Hola

Nunca se me ha dado el caso de tene que hacer algo asin, pero me da que no vas poder hacerlo asin, ya que cuando llamas al popup ya has perdido la información del formulario.

Para realizar esto que tu quieres yo te aconsejo lo siguiente:
1. Fuera el action
Código PHP:

<form name="formindicadores" method="POST"

la verdad es que el method tampoco sirve de mucho.

2. Modificación del botón submit.
Código PHP:

<input name="Submit" type="buton" class="botonver" value="Ver" onClick="Enviar(this.form)"

3. Creación de un procedimiento en javascript, que lea el valor del select y habra el popup.
Código PHP:

<script>
function 
Enviarcual ) {
/* aqui debes leer el valor de sel_ano_ind */
day = new Date();
id day.getTime();
eval(
"page"+id+"=window.open(URL?var="+valor_sel_ano_id+",'"+id+"','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=600,heig

ht=500,left=1,top=1');"
);
}
</script> 

El código anterior simplemente es para expresar una ida, supongo que me faltarán cosas, e incluso algunas estarán mal, pero espera que entiendas lo que quiero decir, y que puedas resolver tu problema.

roman 22-11-2004 16:32:42

Otra opción:

Código PHP:

<form name='formindicadores' method='post' action='indicadores.php' onSubmit='return form_submit(this)'

En form_submit abres la ventana y asignas su id a la propiedad target de <FORM>:


Código PHP:

function form_submit(formulario)
{
    
day = new Date();
    
id day.getTime();

    
formulario.target id;
    eval(
"page" id " = window.open(form.action, " id ", '[i]opciones[/i]')");

    return 
true;


Lo he probado en IE, FF, NS y Opera y ha funcionado.

// Saludos

kayetano 22-11-2004 16:42:16

Hola

Muy bueno roman tomo nota, aunque nunca se me ha dado el caso actual, le veo mucha utilidad a tu sistema, además de se muy elegante.

roman 22-11-2004 16:54:25

Sólo una cosa que se me fue en el recorta y pega. El form.action en la llamada a window.open en realidad no es necesario (y de hecho no era form sino formulario :o ):


Código PHP:

eval("page" id +" = window.open('', "id ", 'width=500,height=300')"); 

// Saludos

Andrea Martinez 24-11-2004 18:43:59

Gracias
 
Gracias... Muchachos por los ejemplo. los copie y me resultaron muy bien..

le agradezco inmensamente.


La franja horaria es GMT +2. Ahora son las 18:27:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi