Ну не знаю почему при смене нескольких... Есть ошибки значит, на клиенте, как то не присутствует объект родитель, то есть он возможно тоже добавляется динамически (по коду этого не скажешь), что-то еще...
Получение и отправку формы можно было бы и в одном месте прописать:
$('#content').on('click','.mod2',function(){
var url = $(this).attr('href');
$.ajax({
type: 'GET',
url: '?ajax=' + url,
success: function(data){
$('#content').html(data)
.find('form')
.submit(function() {
$.ajax({
type: 'POST',
url: this.action,
dataType: "html",
data: $(this).serialize(),
success: function(data){
//ответ сервера о результате принятых данных
},
error: function(xhr, str){
alert('Возникла ошибка: ' + xhr.responseCode);
}
});
return false;
})
}
});
if(url != window.location){
window.history.pushState(null, null, url); //с какой целью не понятно
}
return false;
});
Что еще у вас не так, сказать трудно, не представляя всего.