【发布时间】:2011-10-31 15:10:33
【问题描述】:
希望您能在这里提供一些帮助... 我有一个表单,可以翻译字段中的单词,用翻译后的术语填充字段,然后在一个提交按钮中完成所有提交操作。
提交是由 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 ? 有人知道吗?
【问题讨论】:
-
在关闭弹出窗口阻止程序的情况下是否可以工作。您也可以使用 $("#form1").submit();提交表单而不是 document.forms.form1.submit();
-
是的,当我批准弹出窗口时没有问题。如果它是由提交按钮提交而不是 jquery 也不会被视为弹出窗口。
-
尝试在提交按钮上调用 $("button").click()。
-
和 $("#form1").submit();什么都没做……
标签: javascript jquery popup