Django, Javascript: форма, введенная в DOM через javascript innerHtml, приводит к сбою вкладки Google Chrome при отправке. Работает в IE

Я написал букмарклет, который получает форму Django и вставляет ее в Dom с помощью innerHtml нового элемента div, созданного с помощью javascript и добавленного в тело существующего HTML-документа. Первым представлением является запрос ajax (работает нормально), если Django отклонил форму из-за неизвестного пользователя, функция submit не связана с ajax и повторно отправляется без ajax во всплывающее окно для аутентификации пользователя без CORS. Процесс работает безупречно в IE, но при нажатии кнопки «Отправить» происходит сбой вкладки Chrome.

Тесты: я подумал, что, возможно, проблема была в первоначальном представлении Ajax. Тем не менее, если я использую тот же процесс без AJAX при внедрении, отправить также не удается. Если я скопирую html-код из браузера после того, как моя инъекция будет завершена, и создам новый html-документ, то открою его в chrome, все работает нормально. Кроме того, если я удаляю div, содержащий поля формы, до внедрения, кнопка отправки работает. Это наводит меня на мысль, что это как-то связано с введением формы после загрузки Dom на существующей странице. Есть ли способ перезагрузить Dom без обновления страницы или заставить innerHtml правильно зарегистрироваться в Dom при внедрении?

Никаких ошибок консоли, просто ооо, хватит! Somethng пошло не так при отображении этой веб-страницы.

Чтобы повторить проблему, выполните следующие действия: (Я нахожусь на Windows 8 с версией Chrome 23.0.1271.64 m)

(шаг 1) перейти к URL-адресу изображения: itsblackcurrent.com/wp-content/uploads/2012/07/what-hi.png

(шаг 2) перейдите в консоль Chrome и введите следующий код:

o = document.createElement("div");
o.setAttribute("id", "overlay");
o.innerHTML = 'New PinURLor UploadDescriptionTagsSubmit<a id="cancel" onclick="removeOverlay()" data-toggle="modal" class="btn">Cancel</a>'; 
document.body.appendChild(o);

(шаг 3) Нажмите «Отправить» и увидите сбой Chrome!

(шаг 4) Если точно такой же код загружен до загрузки DOM, он работает. Вставьте следующее в новый текстовый документ и сохраните как .html.



Copy and paste all the code from step 2 here


(шаг 5) Откройте файл .html с помощью Chrome и отправить не будет сбой.

Ответы на вопрос(1)

Ваш ответ на вопрос