in reply to how to make dependent drop down in perl script

Hi Team , I am trying to make dependent drop down in perl script not able to make it , Can you please help me on same ? I have populated the first drop down value from database and able show them, but when I am changing any value from first drop down the second drop down value should auto get populated depending on selection in 1st drop down Example : 1st drop down : Country Name : 2nd Drop down : State Name so by selecting Country name from 1st drop down , the State name get populated . Both value (Country name and State name) are populated from database . this has to done in perl script
  • Comment on Re: how to make dependent drop down in perl script

Replies are listed 'Best First'.
Re^2: how to make dependent drop down in perl script
by marto (Cardinal) on Mar 10, 2023 at 15:44 UTC
      My perl file :
      $q->div( { -class => "text" }, "Folder Name : ", #my $defaultVal ='0'; $q->popup_menu( -name=>'foldernameval', -id=> 'folder_name_id', -onchange => 'getReportName()', -type=>'dropdown', -values=> \%folderhash, #-default=>$defaultVal, -default=>['0'], ), $q->hidden( -name => ('folder_name', -id=> 'h_folder_name_id', -va +lue => '' )), #q->a( { -href => "javascript:void(0)", -onClick => 'setFolderName +Id()', -title => "Populate Report Name" }, "Populate Report Name" ), #$q->a( { -href => "signoff.cgi?rm=view_report&fId=3", -onClick => + 'setFolderNameId()', -title => "Populate Report Name" }, "Populate +Report Name" ), ),$q->end_div, $q->br, $q->br, $q->div( { -class => "text" }, "Report Name : ", $q->popup_menu( -name=>'reportnameval', -id=> 'report_name_id', #-onchange => 'getReportName()', -type=>'dropdown', -values=> \%reportHash, -default=>['0'], ), $q->hidden( -name => ('report_name', -id=> 'h_report_name_id', -va +lue => '' )), #$q->a( { -href => "signoff.cgi?rm=view_report&fId=\'$fId\'", -onC +lick => 'setFolderNameId()', -title => "Populate Report Name" }, "Po +pulate Report Name" ), $q->a( { -href => "signoff.cgi?rm=view_report&flag=1&fId='$fId'", +-onClick => 'setFolderNameId()', -title => "Populate Report Name" }, + "Populate Report Name" ), #$q->a( { -href => "signoff.cgi?rm=view_report&fId=$fId", -title +=> "Populate Report Name" }, "Populate Report Name" ), ),$q->end_div, $q->br, $q->br,
      my Java script method :
      function getReportName(){ var folder_name_id = document.getElementById('folder_name_id') +.value; alert('FOLDER NAME :'+folder_name_id); #document.getElementById('h_folder_name_id').value=folder_name +_id; perlExecute(folderId); } function perlExecute(url){ alert('PERLEXECUTE METHOD GET CALLED AND FOLDER NAME ID :'+url); function perlExecute(url){ $.ajax({ url: '/signOffPageOnDev/js/reportList.pm', type: 'get', data: { 'id' : '1234' } }); }; };
      Issue , from above Ajax method , my perl file is not getting invoked. this is biggest issue

      2023-03-11 Athanasius added code tags.

        url: '/signOffPageOnDev/js/reportList.pm'

        Your webserver probably isn't configured to execute .pm files. For a long time now CGI has advised against HTML generation. The docs go into detail about the alternatives and suggest templating to separate perl code from HTML, JavaScript etc. Tutorials has links for debugging advise, my own advice, don't use CGI like this.