http://qs321.pair.com?node_id=892054


in reply to Re^2: How to get unselected radio_group() items after submitting form
in thread How to get unselected radio_group() items after submitting form

Ah. Thanks for the sample. Also, thanks to Wind for narrowing the issue to the start_form/end_form because I was not able to replicate the problem before using <form>.

Anyway, here is my new solution:
I updated file name to $f to match original sample.

if ($which_radio_button eq q{}) { $query->delete("$f"); }

see sample:

#!/usr/bin/perl -w use CGI; use strict; my $query = CGI->new; print $query->header; my $button = $query->param('submit'); my @fs = ('test1.txt', 'test2.txt', 'test3.txt', 'test4.txt'); if ($button eq "save") { foreach my $f (@fs) { my $which_radio_button = $query->param("$f"); print "for $f you selected $which_radio_button<BR>\n"; if ($which_radio_button eq q{}) { $query->delete($f); } } #$query->delete_all(); } print "<html><body>"; print $query->start_form(); #print $query->defaults('Restore to Defaults'); foreach my $f (@fs) { print $query->radio_group(-name=>$f, -value=>['c','r','t','s'], -default=>'-'); print "<BR>"; } print $query->defaults('Return to default'); print $query->submit(-name=>'submit',-value=>'save'); print $query->end_form(); print "</body></html>";

If you add $query->delete($f); where $f is empty you will achieve your desired result, as shown in the above example.