在此脚本中使用window.open('url', '_blank')
的其他尝试可以按需运行。这个没有打开新选项卡,在confirm()
提示后使用不同的逻辑。逻辑是显示页面的一部分,如果在其中找到“保留”或者重定向到目标页面。
由于$.ajax
成功处理程序,重定向是自动的。这两种重定向方法都不做任何更改。
第二种方法的形式:
<form method=\"get\" id=\"formgoregistry\" name=\"goregistry\" action=\"\" target=\"_blank\">
</form>
有问题的javascript函数:
function getRegistryInfo(num) {
// for 2nd method, set the form's action
$('#formgoregistry').attr('action', 'http://somesite.com/somefile?n=somevalue');
var response = $.ajax({
type: 'POST',
url: 'purchases_registry.php',
dataType: 'html',
data: { number: num },
success: function(data) {
console.log('response = '+data);
if (data.indexOf('Reserved') > 0) {
// work with the result
// Code in here works fine
....
}
else {
// wrong data, redirect to outside page
// ** Neither of these method open a new tab
// 1st method
var url = 'http://somesite.com/somefile?n=somevalue';
console.log('url = '+url); // prints the correct url
var w = window.open(url, '_blank'); // NO new tab or error
console.log('window = '+w); // window = undefined
// 2nd method (setting form's action beforehand)
console.log(document.goregistry.action); // prints the correct url
document.goregistry.submit(); // NO new tab or error
}
}
});
}
我想知道未定义的窗口是否是问题的一部分以及原因。
答案 0 :(得分:0)
使用此脚本在新窗口中打开链接:
echo "<form action=\"your_link.php?id=\" method=\"post\" target=\"myWindow\", onsubmit=\"window.open('', this.target, 'width=300,height=400,resizable=no,scrollbars=no');return true;\">
或HTML语言:
<form action="your_link.php?idk=$id=" method="post" target="myWindow", onsubmit="window.open('', this.target, 'width=300,height=400,resizable=no,scrollbars=no');return true;">
如果您使用href方法,只需将onsubmit更改为onclick,这就是我所知道的,希望它有所帮助,祝你好运!