var $form = $("<form method='post' action='xxbk/shxx/plshadd' target='plshForm' enctype='multipart/form-data' accept-charset='UTF-8'></form>");
var $input1 = $("<input type='hidden' name='xm' />");
$input1.val('张三');
$form.append($input1);
$form.append($("<input type='hidden' name='age' value='"+age+"'/>"));//age变量
$("body").append($form);
openWin("plshForm");
$form.submit();
$form.remove();
//设置打开的窗口 并居中显示
function openWin(name) {
var iWidth = 870; //弹出窗口的宽度;
var iHeight = 450; //弹出窗口的高度;
var iTop = (window.screen.availHeight-30-iHeight)/2; //获得窗口的垂直位置;
var iLeft = (window.screen.availWidth-10-iWidth)/2; //获得窗口的水平位置;
window.open('about:blank',name,"height="+iHeight+", width="+iWidth+", top="+iTop+", left="+iLeft+",menubar=0,toolbar=0,status=0,scrollbars=1,resizable=1");
}
应用场景
- 向弹出框页面提交大批量的参数时,此时如果用简单的get请求,将参数拼接到url后,就会出现问题,所以将请求改为post类型。
- 参数改为post类型后,会新产生一个问题,这个弹出层该怎么实现?于是想到了俩种解决方案:1.第一种就是上面的代码块,生成一个form表单及其input隐藏框;2.第二种是用layer控件,个人认为此种方式体验很差。
注意
**enctype=‘multipart/form-data’ accept-charset=‘UTF-8’**这段代码就是解决参数乱码的问题