If your form has a multiselect (<select multiple>), then the form processing done by History.js fails to read its selected values correctly. The issue is on this line:
for (var i = 0, len = elements.length, el; i < len; i++) {
el = elements[i]
var name = el.name
if (!name) continue
var value = el.value // <== breaks with <select multiple>
...
I think that just returns the first selected element, which isn't usually what you want...