Отправка формы не работает в последней chrome сборке (83) - PullRequest
0 голосов
/ 16 июня 2020

Chrome: chrome обновление версии 83.0.4103.97 (официальная сборка) (64-разрядная)

Flow

  1. Функция function_name вызывается со страницы ( эта страница остается главной родительской страницей во всем сценарии), в которой есть таблица с несколькими записями, а запись имеет гиперссылку, которая извлекает больше данных и отображается во всплывающем / всплывающем окне.
  2. Код эт c. упомянутый в разделе кода внизу, находится на той части Popup / Overlay, где существуют форма и iframe, которые облегчают весь процесс.
  3. В форме отправьте сюда еще один фрагмент кода html, который затем заполняется в iframe, проверьте цель iframe.

Проблема

Отправка формы работала раньше для всех браузеров и опубликуйте новое обновление, оно не работает в последней сборке chrome, но оно в данный момент работает в других браузерах без каких-либо проблем.

Объяснение неработоспособности

Я добавил логи, все работает, как ожидалось, до вызова строки отправки формы. При отправке формы мы ожидаем, что будет вызвана новая часть html, а затем она будет загружена в iframe. Эта страница никогда не вызывается в последней сборке chrome (вызывается во всех других браузерах), на вкладке сети нет отражения, что должно произойти, потому что при отправке формы вызывается другой файл. (происходит во всех других случаях)

Наблюдения

  1. Всплывающее окно инициируется нажатием кнопки на родительской странице (как описано в потоке)

Код для того же самого приведен выше, если тот же кусок кода удаляется с родительской страницы, а затем заменяется чем-то другим, а затем снова изменяется на тот же код, после чего он работает нормально. (Понятия не имею почему!)

Поведение тоже ошибочно c, один раз в синюю луну даже на последней chrome работает правильно, один или два раза. Но эффективность системы на всех остальных браузерах составляет 100%.

Код: Минимальный (Комментарии добавляются для понимания отдельно)

<div id="divid" class="dialog" title="">    
<!-- Iframe -->
    <center>
      <iframe name="frameid" id="frameid" src="/images/somegif.gif" width=820 height=400 frameborder=0 style="border:0; padding:0; margin:0;"></iframe>
    </center>
</div>
    <!-- Form -->
    <form id="formid" name="formid" method="post" action="/somefile.html" target="framename">
       <!-- Some Form Elements -->
    </form>
    <script>
    //Javascript

$(function() {
    $("#divid").dialog({
        width: 860,
        autoOpen: false,
        modal: true,
        resizable: false,
        open: function(e, ui) {
            $(this).siblings(".ui-dialog-titlebar").find("button").blur(); 
        },
        close: function() {
            jQuery('#framename').attr('src','/images/somegif.gif')
        }
    });
});

    function function_name(val1,val2) {
      var form_obj;
      form_obj=document.getElementById('formid');
      if (form_obj) {
        //some operation, validation etc.   
        jQuery("#divid").dialog('open');
        somefun(form_obj, "var_name", var_name); //They are working fine 
        somefun2(form_obj, "var_name2", var_name2); //They are working fine
        form_obj.submit();
      }
    }
    </script>

Я только что заметил, что имя и идентификатор формы совпадают, то же самое касается iframe. Разработчика, написавшего это, больше нет с нами, короче говоря, нет моего кода.

1 Ответ

2 голосов
/ 17 июня 2020

@ Gandalf, нашел эту проблему на хроме. Проблема 1092200: отправка формы, целью которой является iframe, случайно терпит неудачу

Исправление ошибки было объединено с 84, но исправление для Проблема 1092313: отправка формы имеет приоритет над window.location navigation вызвал регресс, и похоже, что они все еще изучают его ..

Мы также сталкиваемся с той же проблемой и наблюдаем 1092200

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...