Commit | Line | Data |
54310121 |
1 | #!/usr/local/bin/perl |
2 | |
3 | use CGI; |
4 | $query = new CGI; |
5 | print $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 |
18 | if (!$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 |
32 | sub 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> |
40 | EOF |
41 | ; |
42 | exit 0; |
43 | } |
44 | |
45 | sub print_html_header { |
46 | print $query->start_html($TITLE); |
47 | } |
48 | |
49 | sub print_end { |
7d37aa8e |
50 | print qq{<P><hr><A HREF="../index.html" TARGET="_top">More Examples</A>}; |
54310121 |
51 | print $query->end_html; |
52 | } |
53 | |
54 | sub 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 | |
71 | sub 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 | |