Показать сообщение отдельно
  #9 (permalink)  
Старый 25.07.2018, 22:29
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ну так уберите форму из <div id="popup">, и используйте его для вывода ответа сервера. Для этого код начиная со строки 40 можно заменить на функцию вызывающее такое окно, а которое можно передавать содержание, например:

function popupShow(data){
    $('#popup') //открыть окно
        .html(data + '<a id="popup_close"/>') 
        .fadeIn()
        .css({marginLeft: function() {
                return $(this).outerWidth()/2
            },
            marginTop: function() {
                return $(this).outerHeight()/2
            }
        })
        .find('#popup_close').click(function() { //закрыть окно
            $('#fade').remove();
            $(this).parent().fadeOut()
        })

        //выводим затемение страницы и делаем полупрозрачным
        $('<div id="fade"/>').appendTo('body').fadeIn();
}


А ответ сервера:

$('#contact_form').html(data);
$('#contact_form').show();
$('#contact_form_info').remove();


и вызывать функцию вместо этого - popupShow(data).

'filter' : 'alpha(opacity=40)' - это для ишака, и этот стиль нужно прописать в CSS.

PS. То что делается на сервере, это конечно лажа. По уму сервер должен проверять данные извне и отправлять ошибки клиенту. function formValide() - это филькина грамота для сервера. А это означает, что "выскакивало окно" имеет право быть только в случае их отсутствия.

Последний раз редактировалось laimas, 26.07.2018 в 04:38.
Ответить с цитированием