1#!/usr/local/bin/perl
2
3use CGI;
4$query = new CGI;
5print $query->header;
6$TITLE="Frameset Example";
7
8# We use the path information to distinguish between calls
9# to the script to:
10# (1) create the frameset
11# (2) create the query form
12# (3) create the query response
13
14$path_info = $query->path_info;
15
16# If no path information is provided, then we create 
17# a side-by-side frame set
18if (!$path_info) {
19    &print_frameset;
20    exit 0;
21}
22
23# If we get here, then we either create the query form
24# or we create the response.
25&print_html_header;
26&print_query if $path_info=~/query/;
27&print_response if $path_info=~/response/;
28&print_end;
29
30
31# Create the frameset
32sub print_frameset {
33    $script_name = $query->script_name;
34    print <<EOF;
35<html><head><title>$TITLE</title></head>
36<frameset cols="50,50">
37<frame src="$script_name/query" name="query">
38<frame src="$script_name/response" name="response">
39</frameset>
40EOF
41    ;
42    exit 0;
43}
44
45sub print_html_header {
46    print $query->start_html($TITLE);
47}
48
49sub print_end {
50    print qq{<P><hr><A HREF="../index.html" TARGET="_top">More Examples</A>};
51    print $query->end_html;
52}
53
54sub print_query {
55    $script_name = $query->script_name;
56    print "<H1>Frameset Query</H1>\n";
57    print $query->startform(-action=>"$script_name/response",-TARGET=>"response");
58    print "What's your name? ",$query->textfield('name');
59    print "<P>What's the combination?<P>",
60    $query->checkbox_group(-name=>'words',
61			       -values=>['eenie','meenie','minie','moe']);
62
63    print "<P>What's your favorite color? ",
64    $query->popup_menu(-name=>'color',
65		       -values=>['red','green','blue','chartreuse']),
66    "<P>";
67    print $query->submit;
68    print $query->endform;
69}
70
71sub print_response {
72    print "<H1>Frameset Result</H1>\n";
73    unless ($query->param) {
74	print "<b>No query submitted yet.</b>";
75	return;
76    }
77    print "Your name is <EM>",$query->param(name),"</EM>\n";
78    print "<P>The keywords are: <EM>",join(", ",$query->param(words)),"</EM>\n";
79    print "<P>Your favorite color is <EM>",$query->param(color),"</EM>\n";
80}
81
82