私は2日前まで正しく動作する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はこの種のコードをサポートしていないようです。だよね?はいの場合、私の質問は次のとおりです。
- なぜこれが突然起こったのですか?非推奨の警告はありませんか?
- このコードの回避策は何ですか?
- コードを変更せずに、Chrome(または他のブラウザ)を以前と同じように強制する方法はありますか?
PS それは最新のfirefoxバージョンでも機能しません(メッセージなし)。また、IE 11.0およびEdgeでは機能しません。(どちらもメッセージなし)
.submit()
ハンドラーにも影響することに注意してください(.click()
上記のメソッドに加えて)。