in reply to Re: Re-submit HTML form including inputs
in thread Re-submit HTML form including inputs

Hi Hays, Thanks for the response. I'll clarify my problem a bit. The lines below get a user edit form including the current values in the input fields eg. username, password etc. I can successfully print all the values using the form->dump function.
$response = $ua->request(HTTP::Request->new(GET => "$edit_user_url")); my $form = HTML::Form->parse($response); #print $form->dump; # print form values
I can then get or change any of these values using $form->value("field") or $form->value("field",$newvalue). My problem is that when I do a $form->make_request or $form->click the field values appear not to be submitted. How do I submit the form including all the current values? Murray

Replies are listed 'Best First'.
Re^3: Re-submit HTML form including inputs
by hgolden (Pilgrim) on Sep 13, 2006 at 20:30 UTC
    So I think the issue is that when you resubmit the form, you're using post which will try and generate a HTTP::Request object. The problem is that you already have such an object.

    Here's an example from http://www.icewalkers.com/Perl/5.8.0/lib/HTML/Form.html:

    use HTML::Form; $form = HTML::Form->parse($html, $base_uri); $form->value(query => "Perl"); use LWP; LWP::UserAgent->new->request($form->click);
    Both click and make_request return request objects, and you can see that they're using LWP's request to send them.

    I was trying to point you to this in my first post, though I admit that it was pretty unclear. Check out http://kobesearch.cpan.org/htdocs/libwww-perl/LWP/UserAgent.html#ua_gt_request_request.

    See how $ua->request sends a request object? Try that on your $req which is such a request object, and let me know if that doesn't work.

    Hays