Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Select data rows from a grid with Perl

by jasonk (Parson)
on Dec 23, 2008 at 19:58 UTC ( #732366=note: print w/ replies, xml ) Need Help??


in reply to Select data rows from a grid with Perl

The way you normally approach this is by also giving the checkboxes a value (and in that case it helps if you give them all the same name, since they are related)...

#!/usr/bin/perl -w use CGI; my $cgi = CGI->new; print $cgi->header, $cgi->start_html, $cgi->start_form; if ( my @selected = $cgi->param( 'my_checkbox' ) ) { print "<hr>\n"; print "<p>You selected: ".join( ', ', @selected )."</p>\n"; } print "<ul>\n"; for my $x ( 1 .. 100 ) { print qq{<li><input type="checkbox" name="my_checkbox" value="$_"> + $_</li>\n}; } print "</ul>\n"; print $cgi->submit,$cgi->end_form, $cgi->end_html;

Also look at [cpan://


www.jasonkohles.com
We're not surrounded, we're in a target-rich environment!


Comment on Re: Select data rows from a grid with Perl
Download Code
Re^2: Select data rows from a grid with Perl
by Anonymous Monk on Dec 23, 2008 at 20:25 UTC
    For the checkbox values it's OK, what about the rest of the information of the row that the checkbox(s) belong to, like:
    <td><input id="" name="ctl1" type="checkbox"></td> <td>Alfreds Futterkiste</td> <td>Berlin</td> <td>Germany</td>

    I have checked this checkbox, I need to send the rest of the information with it, thats what I am looking for. After the check in front of this checkbox I would get:
    Alfreds Futterkiste Berlin Germany
      What about passing all the values I am looking for inside the checkbox tag like:
      <td width=\"400\" align=\"center\"> <input name=\"pass_values\" value=\"$value1 $value2 $value3 $value4 $ +value5 $more_values_here\" type=\"checkbox\" /> Check</td>

      Is this a way around this, or is there a better way to do it?
        It would work but isn't very pretty. Some HTML/javascript as follows might be better.

        (This is untested, so there may be bugs, but it's hacked from code I've developed before, so shouldn't be far wrong. See the javascript DOM.).
        <tr id="ctl1" name="ctl1" title="Click to toggle the selection of thi +s row"> <td> <input type="checkbox" onClick="rowSelected('ctl1')"> </td> <span> <td>Alfreds Futterkiste</td> <td>Berlin</td> <td>Germany</td> </span> </tr> <tr id="ctl2" name="ctl2" title="Click to toggle the selection of thi +s row"> <td> <input type="checkbox" onClick="rowSelected('ctl2')"> </td> <span> <td>etc. etc. etc.</td> </span> </tr> <!-- etc. etc. etc --> <input type='hidden' value='' name='dataToSend'> function rowSelected(id) { if (document.getElementById(id)) { var data=""; var dataArray=document.getElementById(id).getElementsByTagName +("span")[0].getElementsByTagName("td"); for (var i=0; i<dataArray.length; i++) { data=data+dataArray[i].innerHTML; } //overwrites previously selected checkbox so may want to conca +tenate document.getElementById('dataToSend').innerHTML=data; } }

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://732366]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (3)
As of 2014-09-18 05:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (108 votes), past polls