Re: how to send form action?
"Toshiro (mailing lists)" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.lwp |
|---|---|
| Message-ID | <[email protected]> |
> > Please have a look at the html form below (I'm only showing the relevant parts);
> >
> > I'm trying to get the data from the form with this:
> >
> > $mech->submit_form(
> > fields => {
> > txtRateSheetID => "20000",
> > txtAction => "VIEW",
> > txtLevelTypeID => "1",
> > txtCategoryTypeID => "9",
> >
> > But I'm failing to get the page I need; I guess it's because I haven't
> > set the action property (action=strPage , according to the
> > Javascript).
> >
> > The question is: how do I define the action to be performed?
>
> Get the form object. perldoc HTML::Form. Look for action() method.
> Figure out what the JavaScript would set the action to. Set it to that.
>
I've been trying to do what you suggested, but I don't know how to use
Mech and HTML::Form together,
For example, the html page that has the form is the result of a previous
form that I get with Mechanize using this:
my $response = $mech->submit_form();
then I set the form value and form data with these:
my $form = HTML::Form->parse($response);
$form->action("strPage");
$form->value("txtRateSheetID", "20000");
$form->value("txtAction", "VIEW");
$form->value("txtLevelTypeID", "1");
$form->value("txtCategoryTypeID", "9");
$form->value("txtRateSheetTypeID", "1");
now, how can I retrieve the contents of this form and save it using
$mech->save_contents ?