The problem was the duplicate form name. There were two forms - one for the immediate submit (with hidden fields) and one for the preview form.
Having the duplicate names confused the JS. Changing the name of one of the forms caused the form not to be processed, which is what Isa's problem was. So in the end I just made the two forms into one.. much neater that way anyway.