zoukankan      html  css  js  c++  java
  • js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题

    js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题

    js模拟form表单提交数据源码:

    /** 
    * js模拟form表单提交  
    * @param {object} 参数对象
    *    url       必填  提交地址
    *    methond   选填  默认post  提交方式  post  get
    *    target    选填  默认_self  当前页面还是新页面   _self _blank
    *              其它参数
    */
    function jsFormSubmit(params) {
      var turnForm = document.createElement("form");
      //一定要加入到body中!!
      document.body.appendChild(turnForm);
    
          var method = params['methond'] || "POST";	//默认为post
      turnForm.method = method;
      delete params['methond'];
    
      var target = params['target'] || "_self";	//默认为当前页面
      turnForm.target = target;
      delete params['target'];
    
      var url = params.url; //提交地址
      turnForm.action = url;
      delete params['url'];
    
    
      //创建隐藏表单
      for(var item in params){
        var newElement = document.createElement("input");
        newElement.setAttribute("type","hidden");
        newElement.setAttribute("name",item);
        newElement.setAttribute("value",params[item]);
        turnForm.appendChild(newElement);
      }
    
      turnForm.submit();
    }
    

    js模拟form表单提交使用示例:

    var params = {
        //必填参数
        "url":url,
        "methond":"post",
        "target":"_blank",
        //下边为要提交的数据
        "j_username":"SYNKMXS0000000043",
        "j_password":"3258"
    }                  
    formSubmit(params);

    js模拟a点击源码:

    /** 
    * js模拟a点击
    * @param {string}  url       必填  提交地址
    * @param {string}  target    选填  默认_self  当前页面还是新页面   _self _blank
    */
    function jsALink(url,target) {
      var target = target || "_blank";
      //先读取alink 不存在则创建
      var alink = document.getElementById("alink");
      if(alink==undefined)  alink=document.createElement("a");
      //赋值
      alink.id = "alink";
      alink.href = url;
      alink.target = target;
      alink.style = "display: none;";
      //写入页面
      document.body.appendChild(alink);
      //执行点击事件
      document.getElementById("alink").click();
    }  
    

    js模拟a点击示例:

    jsALink("http://www.jsfun.cn","_blank");
    

    来源:jsfun.cn

  • 相关阅读:
    抽象类的子类能够new
    Codeforces Round #250 (Div. 2) A
    软件架构设计箴言理解
    UVA1422-Processor(二分法+优先队列)
    猜你喜欢-----推荐系统原理介绍
    Android------Intent.createChooser
    mongodb3.0 性能測试报告 二
    *Android 多线程下载 仿下载助手(改进版)
    Gson解析数组和list容器
    oracle dbms_repcat_admin能带来什么安全隐患
  • 原文地址:https://www.cnblogs.com/jsfuns/p/8541606.html
Copyright © 2011-2022 走看看