Eu tenho um site antigo com o JQuery 1.7 que funciona corretamente até dois dias atrás. De repente, alguns dos meus botões não funcionam mais e, depois de clicar neles, recebo este aviso no console:
Envio do formulário cancelado porque o formulário não está conectado
O código por trás do clique é mais ou menos assim:
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();
}
Parece que o Chrome 56 não suporta mais esse tipo de código. Não é? Se sim, minha pergunta é:
- Por que isso aconteceu de repente? Sem qualquer aviso de reprovação?
- Qual é a solução alternativa para esse código?
- Existe uma maneira de forçar o chrome (ou outros navegadores) a funcionar como antes sem alterar nenhum código?
PS: Também não funciona na versão mais recente do firefox (sem nenhuma mensagem). Também não funciona no IE 11.0 & Edge! (ambos sem nenhuma mensagem)
.submit()
manipulador jQuery (além do.click()
método indicado acima).