#!/usr/bin/perl
use strict;
use CGI::Ajax;
use CGI;
my $cgi = new CGI();
my $pjx = new CGI::Ajax(
'function1' => \&myfunction1,
'function2' => \&myfunction2,
# 'skip_header' => 1
);
print $pjx->build_html($cgi,\&main,
{-charset=>'UTF-8', -expires=>'-1d'});
sub main {
my $html = <<EOT;
<HTML>
<HEAD><title>CGI::Ajax Example</title></HEAD>
<BODY>
<div id="div2_text">Chapter = </div>
BOOK
<select id="select1" onchange="function1(['select1'],['div1_text'],
+'POST'); ">
<option value="">Select Book</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select></br>
CHAPTER
<div id="div1_text"></div>
</BODY>
</HTML>
EOT
return $html;
}
sub myfunction2 { return "Chapter = ".shift };
sub myfunction1 {
my $book = shift;
my @chap = (undef,['1A','1B','1C'],
['2A','2B','2C','2D'],['3A','3B']);
my $option;
for (@{$chap[$book]}){
$option .= qq!<option value="$_">$_</option>!;
}
return qq!
<select id="select2" onchange="function2(['select2'],['div2_text'],
+'POST'); ">
$option
</select>!;
};
poj |