J'ai un ancien site Web avec JQuery 1.7 qui fonctionne correctement jusqu'à il y a deux jours. Soudain, certains de mes boutons ne fonctionnent plus et, après avoir cliqué dessus, j'obtiens cet avertissement dans la console:
Envoi du formulaire annulé car le formulaire n'est pas connecté
Le code derrière le clic est quelque chose comme ceci:
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();
}
Il semble que Chrome 56 ne prend plus en charge ce type de code. N'est-ce pas? Si oui, ma question est:
- Pourquoi est-ce arrivé soudainement? Sans aucun avertissement de dépréciation?
- Quelle est la solution de contournement pour ce code?
- Existe-t-il un moyen de forcer Chrome (ou d'autres navigateurs) à fonctionner comme avant sans changer de code?
PS Cela ne fonctionne pas non plus dans la dernière version de Firefox (sans aucun message). De plus, cela ne fonctionne pas dans IE 11.0 et Edge! (les deux sans aucun message)
.submit()
gestionnaire jQuery (en plus de la.click()
méthode indiquée ci-dessus).