не правильно в логике, см выше
ниже код позволяющий произвести нужные действия
jQuery(document).ready(function ($) {
$("form").submit( {ajax: false}, function (event) {
if (false === event.data.ajax) {
var $form = $(this);
event.data.ajax = true;
event.preventDefault();
$.post('index.php', $form.serialize(), function (res) {
$form.submit();
}).fail(function (error) {
// обрабатываем ошибку
event.data.ajax = false;
});
}
});
});