fix: properly handle input type='button'

Fixes #193