2010-12-03 8 views
0

J'ai l'intention de créer le code HTML suivant en utilisant CGI.pm Il contient simplement 2 images.Comment nommer un lien en utilisant CGI.pm

-------------------------------- 
    Frame1   | 
    link1   | Frame2 
    link2   | 
    etc    | 
--------------------------------- 

L'utilisateur cliquera sur un lien dans l'image 1 et le résultat apparaît dans l'image 2.

Pour ce faire, je veux nommer « link1 » etc dans le script cgi dans Frame1 (comme requête), , puis apparaissent dans l'image 2 (en réponse). Je ne sais pas comment y parvenir en CGI.

Voici le script actuel je:

#!/usr/bin/perl -w 
use CGI::Carp qw(fatalsToBrowser); 
use CGI qw/:standard/; 


my $TITLE = "My title"; 
my $query = new CGI; 
my $path_info = $query->path_info; 


print $query->header(); 

$path_info = $query->path_info(); 


# If no path information is provided, then we create 
# a side-by-side frame set 
if (!$path_info) { 
     &print_frameset; 
     exit 0; 
} 


&print_html_header; 
&print_query if $path_info=~/query/; 
&print_response if $path_info=~/response/; 


&print_end; 

sub print_html_header { 
print 
    $query->start_html(-title =>'My title', 
     -bgcolor=> "F5F5EB",  
     -style => { 
      -src => '../print.css', 
      -align=>'center',   
     } 
    ),p; 
} 


sub print_end { 
     print $query->end_html; 
} 

# Create the frameset 
sub print_frameset { 
    my $script_name = $query->script_name; 
    print <<EOF; 
<html><head><title>$TITLE</title></head> 
<frameset cols="35,65" frameborder=0 marginwidth=0 noresize> 
<frame src="$script_name/query" name="query"> 
<frame src="$script_name/response" name="response"> 
</frameset> 
EOF 
    ; 
    exit 0; 
} 


sub print_query { 
    $script_name = $query->script_name; 

    print "<H1>Frame1</H2>\n"; 

    # This is where I want to name "Link1" so that 
    # it can be called later in response frame 

    # But this doesn't seem to work 
    print h3("Link1", -name =>'link1"); 

} 

sub print_response { 
    print "<H1>Frame2</H2>\n"; 
    # If name == link1 do something... 
} 

Répondre

1

Dans votre sous print_query, il suffit de faire:

print a({-href=>"$script_name/whatever_you_want", -target=>'response'}, "Link1"), 
Questions connexes