Tengo un sitio web antiguo con JQuery 1.7 que funciona correctamente hasta hace dos días. De repente, algunos de mis botones ya no funcionan y, después de hacer clic en ellos, aparece esta advertencia en la consola:
Envío de formulario cancelado porque el formulario no está conectado
El código detrás del clic es algo como esto:
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 Chrome 56 ya no es compatible con este tipo de código. ¿No es así? En caso afirmativo, mi pregunta es:
- ¿Por qué sucedió esto de repente? Sin ninguna advertencia de desaprobación?
- ¿Cuál es la solución para este código?
- ¿Hay alguna manera de obligar a Chrome (u otros navegadores) a funcionar como antes sin cambiar ningún código?
PD : tampoco funciona en la última versión de Firefox (sin ningún mensaje). ¡Tampoco funciona en IE 11.0 y Edge! (ambos sin ningún mensaje)
.submit()
controlador jQuery (además del.click()
método indicado anteriormente).