Попробовал это быстро в блокноте (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? кто-то знает как?