На событие submit формы навешивается обработчик, первым параметром принимающий объект события. Для того чтобы остановить отправку необходимо вызвать метод объекта события preventDefault.
Пример:
var myForm = document.getElementById("myForm");
myForm.addEventListener('submit', function(event){
//какой то код
if(условие отмены отправки){
event.preventDefault();
return false;
}
});
1) Создать div: width: 100%, height: 100%, opacity: например, 0.5, position:fixed, display:none, background:Цвет фона
2) Перед вызовом ajax сделать этому div display:block; (например, по нажатию на кнопке или почему там в сценарии вызывается запрос)
3) В success колбэке ajax сделать диву display:none
PS: Внутрь дива разместить анимированный гиф загрузчика, надпись "Page loading..." или что-нибудь еще по своему вкусу
Не хочу быть КЭПом, но все проблемы в вёрстке начинаются с дизайна. Адаптивная вёрстка может быть только у адаптивного дизайна, иначе это уже три макета, а не адаптивность. При хорошем подходе к дизайну, верстать по сути приходится только мобильную версию - остальные разворачиваются из оной чутьли не автоматически.