2010-12-03 2 views
0

Я намереваюсь создать следующий HTML-код с помощью CGI.pm Он просто содержит 2 кадра.Как назвать ссылку с помощью CGI.pm

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

пользователь щелкнет ссылку в кадре 1 и результат появится в рамке 2.

Для этого я хочу назвать «LINK1» и т.д. в CGI-скрипт в Frame1 (как запрос), , а затем отображаются в Frame2 (в качестве ответа). Я не уверен, как добиться этого в CGI.

Это текущий сценарий у меня есть:

#!/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... 
} 

ответ

1

В вашем суб print_query, просто сделать:

print a({-href=>"$script_name/whatever_you_want", -target=>'response'}, "Link1"), 
Смежные вопросы