note
pc88mxer
I think we need to see more of your code. <c>CGI::Ajax</c> shouldn't define the Javascript function <c>display()</c> unless you have told it to handle that function in your constructor.
<P>Update: I would also make sure that your JS attribute values have proper quotes around them, e.g. <c>onclick="..."</c>. And, FWIW, this modification of the CGI::Ajax example program works for me - is this what you want to do?
<readmore>
<c>
#!/usr/bin/perl
use strict;
use CGI; # or any other CGI:: form handler/decoder
use CGI::Ajax;
my $cgi = new CGI;
my $pjx = new CGI::Ajax( 'exported_func' => \&perl_func );
print $pjx->build_html( $cgi, \&Show_HTML);
sub perl_func {
my $input = shift;
# do something with $input
my $output = $input . " was the input!";
return( $output );
}
sub Show_HTML {
my $html = <<EOHTML;
<HTML>
<HEAD>
<SCRIPT>
function display() { alert("I am in display") };
</SCRIPT>
</HEAD>
<BODY>
Enter something:
<input type="text" name="val1" id="val1"
onkeyup="exported_func( ['val1'], ['resultdiv'] );display(this)">
<button type=button onclick="display(this)">Click me!</button>
<br>
<div id="resultdiv"></div>
</BODY>
</HTML>
EOHTML
return $html;
}
</c>
699390
699390