下面用于发布数据的粘贴代码。响应将在新选项卡中打开。
GF.SubmitForm = function (url, params, target) {
// create form string using array push and join
var form = ['<form method="POST" action="', url, '" target="', target, '">'];
for (var key in params)
form.push('<input type="hidden" name="', key, '" value="', params[key], '"/>');
form.push('</form>');
jQuery(form.join('')).appendTo('body')[0].submit();
}
我应该怎么做才能在新的弹出窗口中打开响应数据。
使用以下粘贴代码替换上述函数中的最后一行代码,但没有工作
jQuery(form.join('')).appendTo('body')[0].submit(function () {
window.open(url,target,"menubar=1,resizable=1,width=350,height=250");
});
答案 0 :(得分:1)
您无法使用window.open()
使用GE.SubmitForm()
打开新窗口。使用Ajax是一个可以帮助您避免其他GF.SubmitForm = function (url, params, target) {
if (target === 'newwindow')
{
var paramsString = '';
for (var key in params)
paramsString += key + '=' + params[key] + '&';
var urlCopy = url;
jQuery.ajax({
cache: false,
type: 'post',
data: paramsString,
dataType: 'html',
url: urlCopy
}).done(function(data){
var newWindow = window.open(urlCopy,target,"menubar=1,resizable=1,width=350,height=250");
newWindow.document.write(data);
});
return;
}
// create form string using array push and join
var form = ['<form method="POST" action="', url, '" target="', target, '">'];
for (var key in params)
form.push('<input type="hidden" name="', key, '" value="', params[key], '"/>');
form.push('</form>');
jQuery(form.join('')).appendTo('body')[0].submit();
};
newwindow
原谅需要target
值的魔术字符串{{1}}。你明白了。您还可以使用布尔值重置函数以打开新窗口,然后调用原始3-arg函数(如果为false),并使用ajax(如果为true)。