Skip to content

Instantly share code, notes, and snippets.

@artemrogov
Created September 12, 2015 17:59
Show Gist options
  • Save artemrogov/49824f432c03d7161414 to your computer and use it in GitHub Desktop.
Save artemrogov/49824f432c03d7161414 to your computer and use it in GitHub Desktop.
var viewUserData = (function(){
//Инициализация. Инициализирует модуль
var init = function() {
_setUpListners();
};
//прослушивает события
var _setUpListners = function() {
//прослушка событий
/*
Здесь пишут то, что должно произойти сразу!
*/
$('#addUser').on('submit',_AddUser);//
};
//Работа с модальным окном
//Добавляет проект
var _AddUser = function(ev) {
console.log('добавление пользователя');
ev.preventDefault();// отменяет стандартное поведение
var form = $(this),
url = 'form-action.php',
defObj = _ajaxForm(form, url);
//выводит ответ от сервера
if (defObj){
defObj.done(function(ans){
console.log(ans);
var successBox = form.find('.success-mes'),
errorBox = form.find('.error-mes');
if (ans.status === 'OK') {
errorBox.hide();
successBox.text(ans.text).show();
}
else {
successBox.hide();
errorBox.text(ans.text).show();
}
});
}
};
//универсальная функция, которая собирает данные из формы, проверяет форму
//делает запрос на сервер и возвращает ответ сервера //
//form - форма
//url - адрес php файла,
_ajaxForm = function(form, url) {
/*
1.проверить форму
2.собрать данные из формы,
3.вернуть ответ с сервера
*/
//if (!valid) return false;
if (!flash_tips.validateForm(form)) return false;
GetMsg = form.serialize();
var result = $.ajax({
url:url,
type:'POST',
dataType:'json',
data:GetMsg
}).fail(function(){
//console.log('Проблемы в PHP');
form.find('.error-mes').text(GetMsg.text).show();
});
return result;
};
return { // тут находятся публичные методы или поля
init:init
};
})();
viewUserData.init();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment