У меня есть старый веб-сайт с JQuery 1.7, который работает правильно до двух дней назад. Вдруг некоторые мои кнопки не работают, и после нажатия на них, я получаю это предупреждение в консоли:Получение ошибки «Подача формы отменена, потому что форма не подключена»
представления формы отмененный, потому что форма не связана
код за клик что-то вроде этого:
this.handleExcelExporter = function(href, cols) {
var form = $('<form method="post"><input type="submit" /><input type="hidden" name="layout" /></form>').attr('action', href);
$('input[name="layout"]', form).val(JSON.stringify(cols));
$('input[type="submit"]', form).click();
}
Похоже, что Chrome 56 больше не поддерживает этот тип кода. Не так ли? Если да, то мой вопрос:
- Почему это произошло внезапно? Без предупреждения об устаревании?
- Каков обходной путь для этого кода?
- Есть ли способ заставить хром (или другие браузеры) работать, как раньше, без изменения какого-либо кода?
P.S. Он также не работает в последней версии firefox (без какого-либо сообщения). Также он не работает в IE 11.0 & Edge! (оба без сообщения)
Я добавил исправление в принятом ответе, чтобы соответствовать тому, что форма является объектом jQuery. Обратите внимание, что это также влияет на обработчик jQuery '.submit()' в дополнение к методу '.click()', указанному выше). – ryanm