fix bugs, add support for other HTML5 input types