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

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

  1. Form表单提交,js验证

    Form表单提交,js验证 1,  Onclick() 2, Onsubmit() Button标签 input (属性 submit  button )标签 Input type=button    ...

  2. js_ajax模拟form表单提交_多文件上传_支持单个删除

    需求场景: 用一个input type="file"按钮上传多张图片,可多次上传,可单独删除,最后使用ajax模拟form表单提交功能提交到指定方法中: 问题:由于只有一个file ...

  3. thinkPHP5.0使用form表单提交数据和删除文章,不用TP的提示页面,使用弹出提示信息

    form表单提交数据和删除文章时,TP的默认信息提示页面的看起来不是很好看,想要实现弹窗提示怎么做呢? 前端:可以使用前端的一个知识--iframe,iframe元素会创建包含另外一个文档的内联框架: ...

  4. Linux curl 模拟form表单提交信息和文件

    Linux curl 模拟form表单提交信息和文件   curl是一个命令行方式下传输数据的开源传输工具,支持多种协议:FTP.HTTP.HTTPS.IMAP.POP3.TELNET等,功能超级强大 ...

  5. springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据

    springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据 表单html: <form class="form-horizontal ...

  6. js的form表单提交url传参数(包含+等特殊字符)的解决方法

    方法一:(伪装form表单提交) linkredwin = function(A,B,C,D,E,F,G){        var formredwin = document.createElemen ...

  7. Form表单提交数据的几种方式

    一.submit提交 在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮(<input type='submit'>)就可以进行数据的提交, ...

  8. form表单提交数据的数据格式

    form表单提交的数据格式默认是 enctype="application/x-www-form-urlencoded"这样将input框的数据与input框的name属性以键值对 ...

  9. jquery模拟form表单提交并新打开页面

    /** * form表单提交本页面打开 * @param url * @param params */ function postCurrent(url,params){ var form = $(& ...

随机推荐

  1. linux下git常用命令

    1 安装: sudo apt-get install git 2 创建一个版本库: 新建一个文件夹,进入这个目录之后 git init 3 创建一个版本: git add 文件名或目录 #表示将当前文 ...

  2. 项目实战15—企业级堡垒机 jumpserver

    本文收录在Linux运维企业架构实战系列 环境准备 系统:CentOS 7 IP:192.168.10.101 关闭selinux 和防火墙 # CentOS $ setenforce # 可以设置配 ...

  3. [Kaggle] dogs-vs-cats之制作数据集[1]

    Step 0:导入必要的库 import tensorflow as tfimport os Step 1:获取图片文件名以及对应的标签 首先是读取给定路径下所有图片的名称以及对应的标签.os.lis ...

  4. Python系列之 - 装饰器

    装饰器主要是用来对函数的操作,我们把定义的函数比作一个蛋糕的话,那么装饰器就是盒子,如果要吃蛋糕就先打开盒子.具体到程序中就是在函数外层又套了一层,套的那一层就是一个装饰器.这么说可能有点抽象,那么我 ...

  5. scrapy中的request

    scrapy中的request 初始化参数 class scrapy.http.Request( url [ , callback, method='GET', headers, body, cook ...

  6. SQL基础----DCL

    在之前的文章已经讲到SQL基础DDL(数据库定义语句 http://www.cnblogs.com/cxq0017/p/6433938.html)和 DML(数据库操作语句 http://www.cn ...

  7. socket编程实例

    TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用. ...

  8. [LeetCode] Special Binary String 特殊的二进制字符串

    Special binary strings are binary strings with the following two properties: The number of 0's is eq ...

  9. [LeetCode] Contain Virus 包含病毒

    A virus is spreading rapidly, and your task is to quarantine the infected area by installing walls. ...

  10. 51nod 1179 最大的最大公约数

    1179 最大的最大公约数 题目来源: SGU 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给出N个正整数,找出N个数两两之间最大公约数的最大值.例如:N = ...