• js模拟form打开新窗口


    1.打开新窗口

    function postNew(url, params) {
    var form = $("<form method='post'></form>");
    var input;
    form.attr({ "action": url });
    if (params != "") {
    $.each(params, function (key, value) {
    input = $("<input type='hidden'>");
    input.attr({ "name": key });
    input.val(value);
    form.append(input);
    });
    }
    form.attr({ "target":"_blank" });
    $(document.body).append(form);
    form.submit();
    }

    /**
    * form表单提交本页面打开
    * @param url
    * @param params
    */
    function postCurrent(url, params) {
    var form = $("<form method='post'></form>");
    var input;
    form.attr({ "action": url });
    if (params != "") {
    $.each(params, function (key, value) {
    input = $("<input type='hidden'>");
    input.attr({ "name": key });
    input.val(value);
    form.append(input);
    });
    }
    $(document.body).append(form);
    form.submit();
    }

    /**
    * form表单提交新打开页面,弹出窗口
    * @param url
    * @param params
    *@windowname
    */
    function postNew(url, params, windowname) {
    var form = $("<form method='post'></form>");
    var input;
    form.attr({ "action": url });
    if (params != "") {
    $.each(params, function (key, value) {
    input = $("<input type='hidden'>");
    input.attr({ "name": key });
    input.val(value);
    form.append(input);
    });
    }
    form.attr({ "target": windowname });
    window.addEventListener("onsubmit", function () { openWindow(windowname); });
    $(document.body).append(form);
    window.dispatchEvent(new Event("onsubmit"))
    form.submit();
    }

    function openWindow(name) {
    window.open('about:blank', name, 'height=400, width=400, top=0, left=0, toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes,location=yes, status=yes');
    }

    参数解释:
          window.open 弹出新窗口的命令; 
      'about:blank' 弹出窗口的文件名; 
      name 弹出窗口的名字(不是文件名),非必须,可用空''代替; 
      height=400 窗口高度; 
      width=400 窗口宽度; 
      top=0 窗口距离屏幕上方的象素值; 
      left=0 窗口距离屏幕左侧的象素值; 
      toolbar=no 是否显示工具栏,yes为显示; 
      menubar,scrollbars 表示菜单栏和滚动栏。 
      resizable=no 是否允许改变窗口大小,yes为允许; 
      location=no 是否显示地址栏,yes为允许; 
      status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;

    //调用
    preview()
    {
    var json = {
    'workStatus': workStatus,
    'designNums': this.designNums,
    'designModel': this.designModel,
    'worksType': this.worksInfo.worksType,
    'designUserList': JSON.stringify(designUserList),
    'promiseImg1': this.promiseImg1,
    'promiseImg2': this.promiseImg2,
    'promiseImg3': this.promiseImg3,
    'promiseImg4': this.promiseImg4,
    'worksInfo': JSON.stringify(worksInfo)
    };
    var postUrl = 'https://www.baidu.com/';
    postCurrent(postUrl, json);

    }

  • 相关阅读:
    Django基础篇
    知识梳理
    其他类题目
    CDN原理
    OpenStack
    云计算三种服务模式SaaS、PaaS和IaaS
    高并发架构
    Andrid Studio Gradle sync failed: A problem occurred configuring project ':app' 解决方法
    Android Studio 创建项目后“Cannot resolve symbol” 解决办法
    阅读之推荐系统
  • 原文地址:https://www.cnblogs.com/roper/p/11947557.html
Copyright © 2020-2023  润新知