Попробовал это быстро в блокноте (Firefox) и (как и ожидалось) это вызвало мой блокировщик всплывающих окон.

сь, вы можете немного помочь здесь ... У меня есть форма, которая переводит слово в поле, заполняет поле переведенным термином и затем выполняет действие - все в одной кнопке отправки.

отправка осуществляется с помощью jquery. проблема в том, что целевая страница блокируется, так как все 3 основных браузера рассматривают ее как всплывающее окно. Знаете ли вы, как открыть ее как новую вкладку или новое окно? Я не хочу устанавливать цель как _self, так как я хочу, чтобы люди также открывали мой сайт.

Я считаю, что проблема в этой строке:

document.forms.form1.submit();

но я также знаю, что должен быть способ перефразировать его, чтобы цель не рассматривалась как всплывающее окно.

это сценарий:

<script type="text/javascript">

$(function transle() {
  $('#transbox').sundayMorningReset();
  $('#transbox input[type=button]').click(function(evt) {
    $.sundayMorning(
      $('#transbox input[type=text]').val(), {
        source: '',
        destination: 'ZH',
        menuLeft: evt.pageX,
        menuTop: evt.pageY
      },
      function(response) {
        $('#transbox input[type=text]').val(response.translation);

        //document.getElementById("form1").submit();
        document.forms.form1.submit();

      }
    );
  });
});

</script>

и это форма:

<table id="transbox" name="transbox" width="30px" border="0" cellspacing="0" cellpadding="0">
  <form action="custom-page" method="get" name="form1" target="_blank" id="form1">

    <tr>
      <td>
        <input id="q" name="q" type="text" class="search_input" onFocus="if (this.value == 'Evening dress') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'Evening dress';}" value="Evening dress" />
      </td>
      <td>
        <input type="button" value="Find" style="color: #333; width: 157px; font-weight:bold"></input>
      </td>
    </tr>

  </form>
</table>

РЕДАКТИРОВАТЬ

Я пробовал все эти строки, чтобы представить:

document.getElementById("form1").submit();
document.forms.form1.submit();
form1.submit();

все заканчивается тем, что всплывающее окно цели заблокировано. пожалуйста, есть ли другой способ сделать код, чтобы он не всплывал?

может стоит использовать onsubmit для создания jQuery? кто-то знает как?

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

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