перезагружает сам себя
что вы имеете ввиду? Если сабмит идет то страница понятно перезагрузится.
Если внутри #main элементам назначены обработчики, то тогда не через html() сохранять состояние, а все его поддерево детей временно переносить в невидимый элемент.