http://www.perlmonks.org?node_id=1010753

VIVIsectI has asked for the wisdom of the Perl Monks concerning the following question:

First time posting so I appreciate any replies and patience required to deal with me.

Clicking a button builds some additional HTML. Now, included in that additional HTML is another button. I want the new button to perform some additional task using CGI::AJAX as well. I've got no problem getting the initial CGI::AJAX setup and working, but I'm not sure where to start on getting the second button declared with a new subroutine to parse.

Some sample code.

After clicking whoohoo I want to now click whoopy and change the 'innerDiv' from poop to tinkle.

#!/usr/bin/perl use strict; use warnings; use CGI ':standard'; use CGI::Ajax; # use CGI::Carp qw(fatalsToBrowser); # Uncomment for debugging ajaxifyView(); sub ajaxifyView { my $cgi = new CGI; my $ajx = new CGI::Ajax ( 'viewsub' => \&subViewSub ); $ajx->JSDEBUG(0); print $ajx->build_html ($cgi, \&buildHTML); } sub buildHTML { my $q = new CGI; my $html; $html .= $q->start_html; $html .= $q->start_table; $html .= $q->Tr( $q->td($q->textfield(-name=>'pantyhoes', -id=>'pantyhoes', + -value=>'sometext')) ); $html .= $q->Tr( $q->td($q->button(-name=>'whoohoo', -onclick=>"viewsub(['p +antyhoes'], ['DisplayDiv'])")), $q->td($q->div({-id=>'DisplayDiv'}, 'ReplaceMe')) ); $html .= $q->end_table; $html .= $q->end_html; return $html; } sub subViewSub { my $q = new CGI; my $innerHTML; $innerHTML .= $q->hidden(-name=>'smoosh', -value=>"tinkle"); $innerHTML .= $q->button(-name=>'whoopy', -onclick=>"viewsub([ +'smoosh'], ['innerDiv'])"); $innerHTML .= $q->div({-id=>'innerDiv'},"poop"); return ($innerHTML); }