Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885

Страница обновляется после отправки файла на сервер

15.05.2017, 13:23. Показов 3337. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите решить проблему и упростить код.
В общем, суть проблемы - при загрузке файла на сервер - обновляется страница, пробовал и onclick(button) и onsubmit(submit), не знаю как сделать так, чтобы страница не обновлялась...
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$("#submitMarkers").on('click', function (e) {
    e.stopPropagation();
    e.preventDefault();
 
    var $form = $("#markerMessageForm"),
        formData = new FormData($form.get(0));
 
    $input = $("#UploadedFiles");
    $.each($input.prop('files'), function (key, value) {
        if (value.type.match(/(.png)|(.jpeg)|(.jpg)|(.gif)$/i)) {
            formData.append('UploadedFiles', value);
        }
    });
 
    date = new Date();
    formData.append('DataAdd', date);
 
    createMark($form, formData);
});
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function createMark($form, formData) {
    var btn = $("#submitMarkers");
    btn.button('loading');
 
    $.ajax({
        url: $form.attr('action'),
        type: $form.attr('method'),
        data: formData,
        cache: false,
        dataType: 'json',
        contentType: false,
        processData: false,
        success: function (respond) {
            if (typeof respond.error === 'undefined') {
                var title = respond.title;
                var latitude = respond.latitude;
                var longitude = respond.longitude;
                var id = respond.markerMessageId;
 
                if (title == null)
                    title = '';
                reset();
                addMarker(id, latitude, longitude, title);
            }
            else {
                console.log(respond.error);
            }
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log(textStatus);
        }
    }).always(function () {
        btn.button('reset')
    });
}
Был и такой вариант

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function getXmlHttp() {
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}
 
var xmlhttp = getXmlHttp()
xmlhttp.responseType = 'json';
xmlhttp.open($form.attr('method'), $form.attr('action'), true);
xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == 200) {
            var result = xmlhttp.response;                    
            var title = result.title;
            var latitude = result.latitude;
            var longitude = result.longitude;
            var id = result.markerMessageId;
 
            if (title == null)
                title = '';                    
            addMarker(id, latitude, longitude, title);
            reset();                    
        }
    }
};
xmlhttp.send(formData);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.05.2017, 13:23
Ответы с готовыми решениями:

Страница обновляется после отправки формы - php
На странице html добавлена форма обратной связи на php кодом <?php include ("index.php"); ?> При нажатии на отправить, сообщение...

Почему после отправки формы, страница обновляется ?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport"...

При отправки формы страница просто обновляется
Доброго времени суток. Столкнулся с проблемой, когда "скрипт" как бы что-то делает, но в то же время не делает ничего. Если честно,...

26
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
17.05.2017, 12:55
Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$('#markerMessageForm').on('submit', function (e) {
    e.preventDefault();
    e.stopPropagation();
 
    var $form = $(this),
        formData = new FormData($form.get(0));
 
    $input = $("#UploadedFiles");
    $.each($input.prop('files'), function (key, value) {
        if (value.type.match(/(.png)|(.jpeg)|(.jpg)|(.gif)$/i)) {
            formData.append('UploadedFiles', value);
        }
    });
 
    date = new Date();
    formData.append('DataAdd', date);
    createMark($form, formData);
    return false;
});
Пробовали такой вариант?
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
17.05.2017, 13:09  [ТС]
Balanaar, да пробовал, обновляет страницу, мало того - return false; возвращал во всех функциях, и всё равно обновляет.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
17.05.2017, 13:18
Можете поставить брейкпоинты и посмотреть, с какого момента вызывается перенаправление и какой функцией?
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
17.05.2017, 14:42  [ТС]
Balanaar, изначально начал шагать по всем библиотекам, но понял что это очень долго, поставил точки останова, но!!! если делать остановки, то страница не обновляется =), если их не делать - обновляется. Файл на сервере пишется асинхронно в отдельном потоке, если он нужен.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
17.05.2017, 14:49
По всем библиотекам и не надо. Установите брейкпоинт ближе к концу блока success ajax-запроса, после которого и происходит перезагрузка.
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
17.05.2017, 14:50  [ТС]
Вообще магия, он не обновляется через раз... Последним срабатывает addMarker, затем страница начинает обновляться, если $('#markerMessageForm').on('submit'... обвернут в $(function() { ... });, то произойдет останов на закрывающей скобке и затем страница обновится.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
17.05.2017, 14:55
Не нужно оборачивать функции в $() там, где это не надо. jQuery-функция $() запускает функцию переданную в качестве параметра после полной загрузки документа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.05.2017, 14:55
Помогаю со студенческими работами здесь

После разворачивания списка страница обновляется. Нужно остаться на предыдущей позиции после обновления
Есть сайт http://landpda.ru/ На нём установлены 2 кнопки. Нажатие на любую вызывает отдельный DIV с информацией, в процессе страница...

Страница обновляется после выполнения скрипта
Собственно, проблема указана в названии. Как прекратить эти самообновления? $('#all').click(function(){ $('#all-not') .html('Do not...

Всплывающее окно после отправки на почту (перезагружается страница)
Всем привет, делал сайт , по заданию нужно нужно сделать всплывающее окно "Сообщение отправлено" , я делал по принципу замены css...

После отправки формы перезагружается страница и функция не работает
После отправки формы перезагружается страница и функция не срабатывает. Подскажите в чем ошибка) Задание звучит следующим образом: ...

Как сделать чтобы страница не обновлялась после отправки формы
Доброго времени суток дорогие Форумчане :) PHP знаю не очень хорошо, поэтому прошу вас выручить. Написал простой скрипт изменения цены...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru