Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Abrir ventana nueva (https://www.clubdelphi.com/foros/showthread.php?t=38471)

halizia 15-12-2006 14:33:22

Abrir ventana nueva
 
Hola, quisiera saber cómo se hace que cuando se pulsa un botón aparezca una ventana nueva. he intentado esto:

Código PHP:

<input type='button' value='Grafica' onclick="muestraGrafica('graficadatos.php?&str=<?=$strXMLData?>','DatosInst','location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=500,height=560')">

siendo muestraGrafica:

Código PHP:

    function muestraGrafica(raiz,str){
        
//funcion para abrir una ventana 
        
if (typeof ventanaGrafica.document == "object") {
            
ventanaGrafica.close()
        }
        
ventanaGrafica window.open("components/com_includes/graficadatos.php?&str=" str,"datosinst","width=600,height=600,left=100,top=100,scrollbars=no,menubars=no,statusbar=NO,status=NO,resizable=YES,location=NO")
    } 

saludos!!

kayetano 17-12-2006 12:37:00

Hola

Para abrir una nueva ventana basta con:
Código:

<input type=button onclick="window.open('url','nombre_ventana','opciones_ventana')">
Lo que tu has puesto no tiene mucho sentido, me da la sensación que has hecho copy/paste de algun sitio y sin saber exactamente que estás haciendo has intentado modificar el código.

Por ejemplo, la función muestraGrafica recibe dos parametros, raiz y str de los cuales uno de ellos no lo usas y el otro es el valor de un parámetro de la url, pero cuando llamas a esa función tu le pasas tres parametros, la URL completa, el titulo y las opciones. En resumen que entiendo que no te funcione.

Te recomiendo que simplifiques tu código, trabaja inicialmente con lo que te he dicho al principio y una vez que te funcione puedes complicarlo todo lo que quieras.

halizia 18-12-2006 09:59:51

Gracias, la verdad es que toy copiando y pegando código, xq no sabía como hacerlo, he hecho lo que me decías, pero sigue sin funcionar, la ruta es el sitio donde está el archivo que hay que abrir, pero no aparece nada. no abre ninguna ventana, no sé dónde está el fallo.

Muchas Gracias
Código PHP:

echo "<input type=button onclick='window.open('joomla/components/com_includes/grafica.php&".$strXMLData."','grafica','location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=500,height=560')'>"


dec 18-12-2006 10:12:09

Hola,

Lo primero que me llama la atención es el primer parámetro para "window.open":

Código:

'joomla/components/com_includes/grafica.php&".$strXMLData."'
El "Query String" comienza a partir del caracter de interrogación "?" y no del "ampersand" "&". A continuación del "?" pueden situarse pares de claves/valores separados por el caracter "&". Por ejemplo:

Código:

'joomla/components/com_includes/grafica.php?datos=".$strXMLData."'
Por otro lado creo que no te funciona por un problema con las comillas: FireBug "dice" que hay un error en "window.open". Prueba a utilizar algo así:

Código PHP:

echo '<input type="button" onclick="javascript:window.open(\'http://www.google.es\', \'grafica\',
 \'location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=500,height=560\');">'



halizia 18-12-2006 11:14:42

Muchas gracias dec, pero hay un problemilla, que no me abre mi ventana, la ventana de google si, he cambiado lo de http://www.google.es por mi ruta y no sale nada :confused:. Seguro que es una tontería pero no me doy cuenta del fallo.

Saludos

dec 18-12-2006 11:34:23

Hola,

Bueno. Si no se abre tu página... es que la URL de la misma (que por cierto es relativa) no se encuentra, no existe, no puede abrirse, por lo tanto. Otra cosa no puede ser, puesto que el resto de parámetros es correcto: la prueba está en que con la URL de Google el asunto funciona.

Revisa la URL que quieres abrir, asegúrate de que existe y estás proporcionando la ruta correctamente.

halizia 18-12-2006 12:56:25

el problema está al pasarle el parámetro str que no abre nada, si le quito el parametro si abre la pagina, pero claro, da error.

Código PHP:

echo '<input type="button" value="Grafica" onclick="javascript:window.open(\'components/com_includes/graficadatos.php?str='.$strXMLData.'\', \'grafica\', \'location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=500,height=560\');">'

Gracias

dec 18-12-2006 13:05:49

Hola,

No tengo claro que solucionaras el problema. Dices que te "da error", pero, no refieres qué error.

Creo que no he tocado nada... es decir, que no es problema esta vez de las "comillas", puesto que lo siguiente funciona como se espera:

Código PHP:

$cadena 'Delphi';

echo 
'<input type="button" value="Grafica" 
 onclick="javascript:window.open(\'http://www.google.es/search?q='
.$cadena.'\', 
  \'grafica\', \'location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=500,height=560\');">'



halizia 18-12-2006 13:20:06

no se si puede tener algo que ver, que el string que le paso es algo del modo
$strXMLData="....";
al ser dobles comillas no se si influye xq tu ejemplo es con comillas simples.
he cambiado a poner comillas simples mi string, pero me da error :S

dec 18-12-2006 13:26:25

Hola,

No; Definitivamente no pueden influir las comillas en este caso puesto que estas encierran el valor, pero, no se incluyen en el valor. Es decir, cuando la variable "se expande" lo hace sin las comillas... que no forman parte del valor.

De todos modos halizia... sigues conque te da error, pero, no dices qué error... y esto podría ayudar a ayudarte, compréndelo. ;)

halizia 18-12-2006 13:40:44

Es que no da ningun error, no sale nada. aunque ya he arreglao eso, en lugar de pasarle un string le paso los parametros con los que construyo el string y construyo el string en la nueva pagina.

Ahora m toy rompiendo la cabeza en encontrar xq no sale una animación flash en la nueva ventana que he abierto, pero weno, ya encontraré la manera de arreglarlo.

muchiiiisimas gracias

kayetano 18-12-2006 13:56:35

Hola

Yo soy partidario de meter el menor código HTML dentro del PHP con lo que el problema de las comillas es mucho menor:
Código PHP:

<input type="button" onclick="window.open('joomla/components/com_includes/grafica.php?str=<?=$strXMLData?>','grafica','location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=500,height=560')">

Ahora bien si lo que te pasa es que no sabes si la URL la estas formando correctamente puedes hacer dos cosas:
1. Pon el parámetro a piñon sin PHP y coprueba que habra correctamente la página, es decir
Código:

'joomla/components/com_includes/grafica.php?str=1'
2. Cuando el paso uno funcione correctamente le metes el valor del parametro con PHP y compruebas mirando el código fuente que la URL se ha formado correctamente.

halizia 19-12-2006 11:18:37

hola, con respeto al parámetro que le paso, si es un string no m lo lee bien, no sé si tiene algo que ver que el string es muy largo(ni siquiera abre la ventana destino, la url ta bien formada). Asi que he optado por pasarle los parámetros oportunos y crear el string en la pagina destino, pero no envía bien los array, al pasarle un array y al leerlo en la pagina destino me dice q el contenido del array es Array :s y no sé cómo hacer para enviar los datos.

Gracias.

halizia 20-12-2006 11:18:23

ya se cómo mandar arrays a través de url.

http://www.wikilearning.com/como_pas...p-10924-17.htm

Saludos.


La franja horaria es GMT +2. Ahora son las 02:26:29.

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