Method: WWW::Mechanize#submit

Defined in:
lib/www/mechanize.rb

#submit(form, button = nil, headers = {}) ⇒ Object

Submit a form with an optional button. Without a button:

page = agent.get('http://example.com')
agent.submit(page.forms.first)

With a button

agent.submit(page.forms.first, page.forms.first.buttons.first)


333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
# File 'lib/www/mechanize.rb', line 333

def submit(form, button=nil, headers={})
  form.add_button_to_query(button) if button
  case form.method.upcase
  when 'POST'
    post_form(form.action, form, headers)
  when 'GET'
    get(  :url      => form.action.gsub(/\?[^\?]*$/, ''),
          :params   => form.build_query,
          :headers  => headers,
          :referer  => form.page
       )
  else
    raise "unsupported method: #{form.method.upcase}"
  end
end