@romaaa32

Почему в Safari не работает без preventDefault()?

Здравствуйте! Ниже приведенный код работает в Chome, Яндекс Браузер, но не в Safari.

$('#form_setting').click(function(e) {
        var data = $('#player_setting');
        $.ajax({
            type: data.attr('method'),
            url: data.attr('action'),
            data: data.serialize(),
            success:function(data) {
            }
        });
    })


А вот так, с e.preventDefault(); работает в Safari, но мне нужно чтобы действие выполнялось, т.е. как в выше коде без e.preventDefault();

$('#form_setting').click(function(e) {
        e.preventDefault();
        var data = $('#player_setting');
        $.ajax({
            type: data.attr('method'),
            url: data.attr('action'),
            data: data.serialize(),
            success:function(data) {
            }
        });
    })


По клике на единственную кнопку на странице отправляются данные 2-х форм на разные страницы (на данный момент у меня в голове вырисовывается только такое решение ), но Safari отправляет ajax только если остановить действие кнопки по умолчанию (return false/preventDefault), а должно после отправки ajax - отправляться вторая форма и обновится страница.
Я JavaScript не знаю, помогите)
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
@romaaa32 Автор вопроса
$('#form_setting').click(function(e){
        var data = $('#player_setting');
        $.ajax({
            type: data.attr('method'),
            url: data.attr('action'),
            data: data.serialize(),
            success:function(data) {
                $('#setting').submit();
            }
        })
    })


С кнопки удалена привязка к форме form="form_setting"
<button type="submit" name="submit" id="form_setting">Сохранить</button>


Добавлено скрытое поле, для определения в PHP - отправлена ли форма
<input type="hidden" name="form_setting" value="1">
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Loovery
@Loovery
Оптимист
Попробуй отправить форму самостоятельно после отправки ajax
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы