使用jquery实现以post打开新窗口

 网络上已有此功能的函数,是以纯JS实现,本文为大家介绍的使用jquery实现,需要的朋友可以参考下

网络上已有此功能的函数,是以纯JS实现。但是在项目中发现,此函数无法兼容Firefox,由此我重写了此方法. 
 代码如下:
//默认新窗口配置 
var windowDefaultConfig = new Object; 
windowDefaultConfig['directories'] = 'no'; 
windowDefaultConfig['location'] = 'no'; 
windowDefaultConfig['menubar'] = 'no'; 
windowDefaultConfig['resizable'] = 'yes'; 
windowDefaultConfig['scrollbars'] = 'yes'; 
windowDefaultConfig['status'] = 'no'; 
windowDefaultConfig['toolbar'] = 'no'; 
代码如下:
/** 
* 以POST表单方式打开新窗口的JQUERY实现 
@param:url 需要打开的URL 
@param:args URL的参数,数据类型为object 
@param:name 打开URL窗口的名字,如果同一按钮需要重复地打开新窗口, 
而不是在第一次打开的窗口做刷新,此参数应每次不同 
@param:windowParam 新打开窗口的参数配置 
* @author: haijiang.mo 
*/ 
function jQueryOpenPostWindow(url,args,name,windowParam){ 
 
 
//创建表单对象 
var _form = $("<form></form>",{ 
'id':'tempForm', 
'method':'post', 
'action':url, 
'target':name, 
'style':'display:none' 
}).appendTo($("body")); 
 
//将隐藏域加入表单 
for(var i in args){ 
_form.append($("<input>",{'type':'hidden','name':i,'value':args[i]})); 

 
//克隆窗口参数对象 
var windowConfig = clone(windowDefaultConfig); 
 
//配置窗口 
for(var i in windowParam){ 
windowConfig[i] = windowParam[i]; 

 
//窗口配置字符串 
var windowConfigStr = ""; 
 
for(var i in windowConfig){ 
windowConfigStr += i+"="+windowConfig[i]+","; 

 
//绑定提交触发事件 
_form.bind('submit',function(){ 
window.open("about:blank",name,windowConfigStr); 
}); 
 
//触发提交事件 
_form.trigger("submit"); 
//表单删除 
_form.remove(); 

 
记录下来,以后可以用。 
 

时间: 2024-10-02 18:38:46

使用jquery实现以post打开新窗口的相关文章

使用jquery实现以post打开新窗口_jquery

网络上已有此功能的函数,是以纯JS实现.但是在项目中发现,此函数无法兼容Firefox,由此我重写了此方法. 复制代码 代码如下: //默认新窗口配置 var windowDefaultConfig = new Object; windowDefaultConfig['directories'] = 'no'; windowDefaultConfig['location'] = 'no'; windowDefaultConfig['menubar'] = 'no'; windowDefaultC

ajax怎么打开新窗口具体如何实现

 本文为大家介绍下ajax如何打开新窗口,下面有段代码,需要的朋友可以了解下  代码如下: var newwindow=window.open('about:blank');  jQuery.ajax({  type: 'POST',  url: 'clickRate.action',  dataType:'json',  data:{  'appId': appId  },  success: function(data){  if (data.success == true) {  neww

js使用post 方式打开新窗口

这篇文章主要介绍了js使用post 方式打开新窗口的相关资料,需要的朋友可以参考下 js中一般新打开窗口很简单直接window.open(url);就可以了, 但是由于我希望传递参数到服务端,而且参数看起来很长一串,而且get方式的提交参数长度是有限制的,因此我有以下需求: 1,js中实现post提交 2,返回的页面在新窗口显示 首先我是这么做的: 代码如下: $.ajax({ type: "POST", url: '${contextPath}/analyse/detail.do',

JS打开新窗口防止被浏览器阻止的方法_javascript技巧

本文实例讲述了JS打开新窗口防止被浏览器阻止的方法.分享给大家供大家参考.具体分析如下: 用传统的window.open()方式打开新窗口,会被浏览器阻止,那么,我们如何才能让JS打开新窗口不被浏览器阻止呢?其实办法还是有的,这里我们就来分析一下如何解决这个问题 我最近也遇到了这样的问题,所以就把弹出新窗口的方法分享给大家.欢迎大家补充哦... 第一种.使用原生javascript的window.open()方法(大部分情况下会被浏览自阻止) 第二种.模拟表单(form)提交,原理是指定表单的a

Ajax请求成功后打开新窗口地址_AJAX相关

废话不多说,关键代码如下所示: jQuery.ajax({ "type":"post", "url":"http://www.baidu.com", "success":function(rel){ if(rel.isSuccess){ window.open(rel.url,"_blank"); } } }); 这个url请求成功后window.open(rel.url,"_

Ajax请求成功后打开新窗口地址

废话不多说,关键代码如下所示: jQuery.ajax({ "type":"post", "url":"http://www.baidu.com", "success":function(rel){ if(rel.isSuccess){ window.open(rel.url,"_blank"); } } }); 这个url请求成功后window.open(rel.url,"_

不再闹心 IE无法打开新窗口现象与解决

长夜漫漫,无心睡眠,小菜打算上网看看新闻.启动IE,打开常去的网站,新闻真不少.点击一条新闻,新窗口没有弹出来,再点,还是没动静.小菜连忙在QQ群中呼救,很快故障就解决了. 一.绿色惊叹号 1.故障现象 点击页面中的二级链接后,鼠标指针显示一个绿色的惊叹号,但很快会消失. 2.故障原因 用户安装过第三方弹出广告阻止工具或其他捆绑弹出广告阻止工具的软件,如3721弹出广告阻止工具条.其可减少弹出广告骚扰,同时也会导致IE二级链接无法打开. 3.故障解决 在工具栏3721弹出窗口拦截工具条的"已拦截

vBulletin HACK----显示话题大小和打开新窗口于论坛索引页

vBulletin HACK ----显示话题大小和打开新窗口于论坛索引页 作者:gogosoft <显示话题大小> 原因:1.1.4版本中没有此功能,而部分用户会以此作为是否查看话题的参考因素. 优点:只需要增加几行代码就可以. 缺点:因为每次显示论坛索引页都需要对该页的话题全部计算大小,所以可能会对服务器造成若干的影响. 自评:这是一个小功能,可有可无,实用与否见仁见智. 步骤: ⒈打开 forumdisplay.php ,查找" if ($announcement=$DB_si

使用window.open自动打开新窗口并且自动关闭新窗口

Html代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author"