Ho un vecchio sito Web con JQuery 1.7 che funziona correttamente fino a due giorni fa. Improvvisamente alcuni dei miei pulsanti non funzionano più e, dopo aver fatto clic su di essi, ricevo questo avviso nella console:
Invio del modulo annullato perché il modulo non è collegato
Il codice dietro il clic è qualcosa del genere:
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();
}
Sembra che Chrome 56 non supporti più questo tipo di codice. No? Se sì, la mia domanda è:
- Perché è successo all'improvviso? Senza alcun avviso di deprecazione?
- Qual è la soluzione alternativa per questo codice?
- C'è un modo per forzare Chrome (o altri browser) a funzionare come prima senza cambiare alcun codice?
PS Non funziona neanche nell'ultima versione di Firefox (senza alcun messaggio). Inoltre non funziona in IE 11.0 e Edge! (entrambi senza alcun messaggio)
.submit()
gestore jQuery (oltre al.click()
metodo sopra indicato).