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


in reply to CGI.pm checkbox problem?

values is looking for a reference:

print $q->checkbox_group ( -name=>'predefined', -values=>@predefined, );
should be:
print $q->checkbox_group ( -name=>'predefined', -values=> \@predefined, );

I have never seen CGI.pm end every form field with />

CGI.pm is xhtml compliant. Here's the header:

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

The <code>/><code> is applied to any tags that don't have corresponding closing tags.




HTH,
Charles K. Clarkson
Clarkson Energy Homes, Inc.

Replies are listed 'Best First'.
Re: Re: CGI.pm being funny?
by xtype (Deacon) on Feb 06, 2002 at 04:09 UTC
    Hmmmmmm... I have always passed -values an array. Either by =[‘blah,'blah'] or =@array.
    And...
    my $tmp = $,; $, = "<br>\n"; print $q->checkbox_group ( -name=>'predefined', -values=>@predefined, -defaults=>param('predefined'), ), $q->submit(-name=>'submit', -value=>'preview'), $q->end_form; $, = $tmp; # return output field separator to it's original value.
    Is working for me just fine. Perhaps it is only still working for backward compatibility?
    I just wanted to see if any of you more knowledgeable monks had a better way.
    ++Zaxo and talexb for the -linebreak=>'true' bit.
    When I started using CGI.pm, back in the day, I did actually read the manuals, perldoc.
    Also for me, up until now, header always returned
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
    For my past employer(s), upgrading software was never up to me (read: "everything had to be standard, and their standards were far behind" or "get slapped if you try to do something different/better").
    I suppose this is what I get for not keeping up on my perldoc readings anyway.
    I shall go now and read the latest perldoc:cgi since I am using an updated CGI.pm from what I am used to (xhtml, whoo, I wonder what else is changed!).

    Thanks everyone for your replies.
    Cheers, -xtype
      Hmmmmmm... I have always passed -values an array. Either by =[‘blah,'blah'] or =@array.

      ['blah','blah'] creates an array ref.. not an array.

      Rich