• Publicidad

Pregunta sobre PopUp

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Pregunta sobre PopUp

Notapor mydaboin » 2008-02-15 08:37 @401

He estado investigando tanto en esta página como en otras sobre la utilización de ventanas emergentes, debido a que un cliente desea que los usuarios al dar clik sobre un vehículo en particular, salgan sus características en una nueva ventana, claro está con un tamaño especifico. Seguí varios de los ejemplos planteados en dichas páginas incluyendo esta, pero sin resultados positivos, desearía saber cómo se debe poner correctamente el JavaScript en Perl para que funcione correctamente, ya que me da un error de búsqueda:

Imagen

Lo que me quiere decir que no está tomando en cuenta las especificaciones dadas a la función del JavaScript.

Ahora bien, de los que he usado, este lo crea un generador automático y en pruebas con HTML y funcionó

http://www.contadorwap.com/popups.php

Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
<HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=800,height=600');");
}
// End -->
</script>


<!-- SEGUNDO PASO: Utilice el siguiente link para abrir la nueva ventana -->

<A HREF="javascript&#058;popUp('http://www.800vehiculos.com/cgi-bin/catalogoviewv.pl?listado=800vehiculos1&codigo=000111&activar=&nombreu=prueba2007')">Abrir Ventana Pop Up</A>
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Ahora bien, se puede adaptar este código a Perl:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print "<html><title>Catalogo de \U$empresa</title>\n";
print "<style TYPE=\"text/css\">\n";
print "<!--\n";
print "a \{ text-decoration: none; color:$colorlink; \}\n";
print "a:hover\{ text-decoration: underline; color:$colorlink; \}\n";
print "b \{ font-size:11px; color:$colortitulo; font-family: Arial;\}\n";
print "strong \{ font-size:11px; color:$colortitulo; font-family: Arial;\}\n";
print "body \{ font-size:11px; color:$colortexto; font-family: Arial\; }\n";
print "td \{ font-size:11px; color:$colortexto; font-family: Arial\; }\n";
print "// -->\n";
print "</style>\n";
print "<base target=derecho>\n";
print "<body topmargin=10  bgcolor=\"$colorfondo\" background=\"../imagenes/$listado-background.jpg\"><center>\n";

&Usuario;
$contador=0;
$hallado="";

if ($servidorftp ne ""){
        $origen="categorias.dat";
        $destino="../db/$listado/temporal/$usuario-categorias.dat";
        #use Net::FTP;
        $ftp = Net::FTP->new($servidorftp, Debug => 0);
        $ftp->login($loginserver,$passwserver);
        $ftp->cwd("/db/$listado");
        $ftp->get($origen,$destino);
        $archivo_categorias=$destino;
}else{
        $archivo_categorias="../db/$listado/categorias.dat";
}
                        if ($servidorftp ne ""){
                                        $origen="productos.dat";
                                        $destino="../db/$listado/temporal/$usuario-productos.dat";
                                        $ftp->get($origen,$destino);
                                        $archivo_productos=$destino;
                        }else{
                                $archivo_productos="../db/$listado/productos.dat";
                        }

                if (-e $archivo_productos){
                                open (PRODUCTOS, "$archivo_productos") || &Error ($!, "$archivo_productos");
                        while($reng=<PRODUCTOS>){
                                chop $reng;
                                @inf=split("\t",$reng);
                                $codigo=$inf[0];
                                $descrip=$inf[1];
                                $dtecnicos=$inf[4];
                                $inactivo=$inf[5];
                                $oferta=$inf[6];
                                $exento=$inf[7];
                                $vercolores=$inf[8];
                                $vertallas=$inf[9];
                                $gru=$inf[10];
                                $sub=$inf[11];
                                $sec=$inf[12];
                                $ciu=$inf[13];
                                $tlf1=$inf[15];
                                $nomu=$inf[16];
                        if ($activar ne ""){
                                $precio=$inf[3];
                        }else{
                                $precio=$inf[2];
                        }
                                $criterio="$codigo$descrip$dtecnicos$gru$sub$sec$ciu$precio";
                                $imprimir="no";
                        #if ($criterio=~/$grupo/i && $criterio=~/$subgrupo/i && $criterio=~/$seccion/i){
                                        #$imprimir="si";
                        #}
                        if ($grupo eq $gru && $subgrupo eq $sub && $seccion eq $sec){
                                                $imprimir="si";
                        }
                        if ($criterio=~/$marca1/i && $criterio=~/$modelo1/i && $criterio=~/$ciudad1/i && $seccion eq ""){
                                        $imprimir="si";
                        }
                                $imagen1="../$listado/imagenes/t\_$codigo-1.jpg";
                                $imagen2="../$listado/imagenes/t\_$codigo-1.jpg";
                                $imagen3="../$listado/imagenes/t\_$codigo-2.jpg";
                                $imagen4="../$listado/imagenes/t\_$codigo-2.jpg";

                                if ($inactivo ne ""){
                                        $imprimir="no";
                                }
                                if ($imprimir eq "si"){

                                        $hallado="si";

                                                                                        print "<table border=1 cellpadding=0 cellspacing=0 width=95%>\n";
                                                print "<tr><td align=center bgcolor=efefef>\n";
                                                print "<table border=0 cellpadding=2 cellspacing=0 width=100%>\n";
                                                print "<tr><td align=center bgcolor=\"$colorfondo\">\n";
                                                print "<a target=derecho href=\"/cgi-bin/catalogoviewv.pl?listado=$listado\&usuario=$usuario\&codigo=$codigo\&activar=$activar\&nombreu=$nomu\">\n";
                                                print "Ver Detalles ";
                                                $img="../htdocs/$listado/detalle.gif";
                 
                                        if (-e $img){
                                                $img="../$listado/detalle.gif";
                                        }else{
                                                $img="../img/detalle.gif";
                                        }
                                                print "<img src=$img align=absmiddle border=0>";

                                                print "</a>\n";
                                                print "<tr><td align=center bgcolor=white height=1>\n";
                                                print "<tr><td align=center bgcolor=c0c0c0 height=1>\n";
                                                print "<tr><td align=center bgcolor=555555 height=1>\n";
                                        if ($oferta ne ""){
                                                print "<tr><td align=center bgcolor=\"red\">\n";
                                                print "<b><font color=\"yellow\">OFERTA</font></b>\n";
                                        }
                                        if (-e $imagen1){
                                                print "</td></tr><tr><td align=center  bgcolor=\"white\">\n";
                                                print "<a target=derecho href=\"/cgi-bin/catalogoviewv.pl?listado=$listado\&usuario=$usuario\&codigo=$codigo\&descrip=$descrip\&precio=$precio\&activar=$activar\&nombreu=$nomu\">\n";
                                                print "<img src=\"$imagen2\" border=0></a>\n";
                                        }
                                        if (-e $imagen3){
                                                print "</td></tr><tr><td align=center  bgcolor=\"white\">\n";
                                                print "<a target=derecho href=\"/cgi-bin/catalogoviewv.pl?listado=$listado\&usuario=$usuario\&codigo=$codigo\&descrip=$descrip\&precio=$precio\&activar=$activar\&nombreu=$nomu\">\n";
                                                print "<img src=\"$imagen4\" border=0 width=100></a>\n";
                                        }
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
MYRD
mydaboin
Perlero nuevo
Perlero nuevo
 
Mensajes: 66
Registrado: 2004-04-22 08:07 @380
Ubicación: Pues Aqui, Preguntando

Publicidad

Notapor explorer » 2008-02-15 10:36 @483

Yo creo que hay un error en la definición de la función popUp().
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor explorer » 2008-02-15 11:35 @524

En efecto... el fallo está en la colocación de los indicadores de comentarios '<!--' y '-->'.

Quítalos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor mydaboin » 2008-02-15 12:29 @562

Si ya lo hice y nada :( , creo que mi error está en la colocación de la función. La pongo justo arriba del body :roll: , espero resolver este dilema :(
MYRD
mydaboin
Perlero nuevo
Perlero nuevo
 
Mensajes: 66
Registrado: 2004-04-22 08:07 @380
Ubicación: Pues Aqui, Preguntando

Notapor hugo11ab » 2008-02-15 13:07 @588

Aquí pongo el código que uso para abrir nuevas ventanas y la manera de cómo lo mando a llamar desde el formulario. Espero y te sirva:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
sub js2 {
$JSCRIPT=<<EOT;
<script language="JavaScript" type="text/javascript">
<!-- Hide script
//<![CDATA[

function openWin(theurl) {
  window.open(theurl ,'','toolbar=0,location=0,directories=0,status=0 menubar= 0,scrollbars=1,resizable=0,copyhistory=0,width=600,height=400, top=50,left=25');
}

//]]> End script hiding -->
</script>
EOT


}
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

ASI MANDO A LLAMAR LA FUNCIÓN DESDE EL FORMULARIO:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$table1->setCell($r,6, "<a href=\"#\" onclick=\"openWin('$url?$parametros')\"><font size=1 color=red> <b>VER DETALLE<b></font></a>");
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
hugo11ab
Perlero nuevo
Perlero nuevo
 
Mensajes: 77
Registrado: 2006-07-22 23:24 @016

Notapor Jenda » 2008-02-16 19:29 @854

Permítame que te doy unos recomendaciones para mejorar tus scripts. De primero esto

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print "<html><title>Catalogo de \U$empresa</title>\n";
print "<style TYPE=\"text/css\">\n";
print "<!--\n";
...
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


está mejor escrito como

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print qq{<html><title>Catalogo de \U$empresa</title>
<style TYPE="text/css">
<!--
...
};
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


o

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print <<"*END*";
<html><title>Catalogo de \U$empresa</title>
<style TYPE="text/css">
<!--
...
*END*
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


No hay razón para perder tiempo escapando todas las '"', añadiendo los \n y print y todo esto.

Segundo, se puede ajustar más variables en el mismo tiempo en Perl así que no tienes que escribir

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$codigo=$inf[0];
$descrip=$inf[1];
$dtecnicos=$inf[4];
...
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


sino que puedes usar solo

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
($codigo, $descrip, $dtecnicos, ...) = @inf;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


o postergar el @inf completamente y usar

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
($codigo, $descrip, $dtecnicos, ...) = split("\t",$reng);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


o si de verdad necesitas usar solo unos elementos de @inf puedes hacer eso

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
($codigo, $descrip, $dtecnicos, ...) = @inf[0,1,4,5,6,7,8,9,10,12,13,15,16];
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


o

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
($codigo, $descrip, $dtecnicos, ...) = @inf[0,1,4..13,15,16];
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pero la recomendación más importante es que empiezas todos tus scripts con esas dos líneas:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use strict;
use warnings;
# y posiblemente
# no warnings 'uninitialized';
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


De primero te va a dar la lata mucho porque vas a tener que declarar todas las variables, pero después va a ayudar mucho con prevenir todos los tipos de faltas como letras superpuestas en nombres de variables y otras.
-------------------------------------------------------
- Estoy aquí para practicar español. Si te ayudó mi respuesta ayudame con un mensaje privado sobre mis faltas por favor. Seguramente habrá muchas :-)
Jenda
Perlero nuevo
Perlero nuevo
 
Mensajes: 132
Registrado: 2007-10-29 06:31 @313
Ubicación: Praga, Republica Checa

Notapor mydaboin » 2008-02-20 10:00 @458

Gracias por los tips :) tanto a Explorer, Hugo (por fin funcionó, aunque se tarda un poquito, pero ya funciona :) ) y Jenda (trabajo en base a otro programador que dejó la caratula construida y yo agrego nuevas cosas, pero los tips que me das me servirán para armar los otros programas propios que estoy haciendo. Gracias). ;)
MYRD
mydaboin
Perlero nuevo
Perlero nuevo
 
Mensajes: 66
Registrado: 2004-04-22 08:07 @380
Ubicación: Pues Aqui, Preguntando

Notapor mydaboin » 2008-02-20 10:30 @479

Hugo, ya me dí cuenta que era mi máquina la que esta lenta, jaja, se me olvidaba que estaba subiendo archivos pesados, jeje, en las otras máquinas se ve bien y no se tarda :) Muchas gracias
MYRD
mydaboin
Perlero nuevo
Perlero nuevo
 
Mensajes: 66
Registrado: 2004-04-22 08:07 @380
Ubicación: Pues Aqui, Preguntando


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados

cron