diff --git a/browser/form.go b/browser/form.go index 87f10e6..03a25cf 100644 --- a/browser/form.go +++ b/browser/form.go @@ -378,7 +378,7 @@ func serializeForm(sel *goquery.Selection) (url.Values, url.Values, url.Values, val, _ := s.Attr("value") t, _ := s.Attr("type") t = strings.ToLower(t) - if t == "submit" { + if t == "submit" || t == "button" { buttons.Add(name, val) } else if t == "checkbox" || t == "radio" { if c, found := s.Attr("checked"); found && strings.ToLower(c) == "checked" { diff --git a/browser/form_test.go b/browser/form_test.go index 2d6453e..4dff308 100644 --- a/browser/form_test.go +++ b/browser/form_test.go @@ -408,6 +408,37 @@ func TestSubmitMultipart(t *testing.T) { ut.AssertContains("image=profile.png", bow.Body()) ut.AssertContains(fmt.Sprintf("profile.png=%s", url.QueryEscape(image)), bow.Body()) } +func TestBrowserFormInputButton(t *testing.T) { + ts := setupTestServer(` + + +
+