Как назвать ссылку, используя CGI.pm - PullRequest
0 голосов
/ 03 декабря 2010

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

--------------------------------
   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 Ответ

1 голос
/ 03 декабря 2010

В вашем sub print_query просто выполните:

print a({-href=>"$script_name/whatever_you_want", -target=>'response'}, "Link1"),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...