Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Очистка div перед Ajax запросом (https://javascript.ru/forum/misc/74139-ochistka-div-pered-ajax-zaprosom.html)

Sonya 16.06.2018 21:34

Очистка div перед Ajax запросом
 
Здравствуйте! Подскажите, пожалуйста, как очистить div переда ajax запросом? Суть такая, в input вводятся данные пользователя, при переходе к следующему input функцией onblur вызывается ajax-запрос, проверяется на совпадение, если есть, то выводится блок с информацией, блок пользователь закрывает. Пользователь меняет данные, но блок уже на странице и теперь, чтобы он не вводил, он будет появляться, после того, как пользователь будет переходить к следующему полю формы. Пробовала так:
jQuery("#block").empty();

так:
document.getElementById('block').innerHTML = '';

не получается.
Информация выводится в div так:
success: function(data) {
        $('#block').html(data);
     }

ruslan_mart 16.06.2018 21:37

$(function() {
   $("#block").empty();
});

Sonya 16.06.2018 21:45

ruslan_mart,
Не получается почему-то. Меняю в поле данные на те которых нет, убираю фокус onblur, появляется тоже окно.

Sonya 16.06.2018 21:53

Ajax-запрос:
var msg_search = $('.input__control').serialize();
    $.ajax({
        type: 'POST',
        url: 'api.php',
        data: msg_search,
        success: function(data) {
            $('#block').html(data);
        }
    });

Может что ещё надо чистить?

рони 16.06.2018 22:17

Sonya,
логику вам надо менять, а не блоки чистить

Sonya 16.06.2018 22:19

рони,
Где именно?

рони 16.06.2018 22:30

Цитата:

Сообщение от Sonya
убираю фокус onblur, появляется тоже окно

значит у вас так запрограммировано
Цитата:

Сообщение от Sonya
функцией onblur вызывается ajax-запрос, проверяется на совпадение, если есть, то выводится блок с информацией,


j0hnik 16.06.2018 23:16

Sonya,
Мб лучше сделать так чтобы он без причины не появлялся? зачем вам эти роги?

Sonya 17.06.2018 00:54

j0hnik,
Он проверяет введенные данные, их можно менять,если такие данные уже есть, но пользователь данные меняет, однако данные остаются те, которые введены раньше. Логика, как путь, если видна вершина горы, то не важно каким путем ты к ней придешь. В принципе, у меня есть вариант, с перезагрузкой страницы, но не хотелось, чтобы другие поля пользователь заполнял снова. Есть ещё вариант сделать с confirm (работает, как часы), но я стилизовала его в блок, отсюда эти "танцы".

j0hnik 17.06.2018 00:58

Цитата:

Сообщение от Sonya
Логика, как путь, если видна вершина горы, то не важно каким путем ты к ней придешь.

:D Китайская народная?
$("#block").empty(); в функцию обработчик onblur

рони 17.06.2018 01:00

Цитата:

Сообщение от Sonya
Логика, как путь, если видна вершина горы, то не важно каким путем ты к ней придешь.

где код, который реагирует на
Цитата:

Сообщение от Sonya
пользователь данные меняет,

?

Sonya 17.06.2018 01:01

j0hnik,
Нет притча.

Sonya 17.06.2018 01:01

рони,
Он вводит их в input.

рони 17.06.2018 01:03

Sonya,
вот понятная мне логика

success: function(data) { 
  if(data == error)      $('#block').html(data);
 else $('#block').html("");
     }

Sonya 17.06.2018 01:07

Пользователь вводит E-mail в input, но данный E-mail, уже есть, ему предлагается ввести другой, но какой бы E-mail, он не вводил, скрипт на странице, повторяет свою "реакцию" на первый. Если можно было бы очистить первоначальный ввод, и вывести "с нуля", то все было бы "Ok".

Sonya 17.06.2018 01:08

рони,
Пробовала - не работает.

рони 17.06.2018 01:12

Sonya,
новые данные либо не уходят на сервер, либо сервер отвечает неверно.

Sonya 17.06.2018 01:31

рони,
Нет, ответ возвращает, что все "Ok" данных нет, хотя они есть, на все реагирует по "зеленой". Тот код, который у меня работает, но нет нужного обновления.

рони 17.06.2018 01:43

Sonya,
будет код, может кто-то подскажет, а так ваши сообщения для телепатов.

laimas 17.06.2018 07:23

Цитата:

Сообщение от j0hnik
$("#block").empty(); в функцию обработчик onblur

onfocus.


Часовой пояс GMT +3, время: 23:57.