js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题
2018-03-10 18:59
1026 查看
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模拟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
相关文章推荐
- 在easyui框架中使用JS和window.open方法提交数据至Servlet并导出POI数据表格
- 遇到问题-----JS中设置window.location.href跳转无效(在a标签里或这form表单里)
- js模拟点击以提交表单为例兼容主流浏览器
- AJAX提交表单后要清空,否则再次提交原来的数据会认为重复提交,提交失败。使用ajaxSubmit 函数需要引入jquery.form.min.js 文件
- 解决弹出的窗口window.open会被浏览器阻止的问题(自定义open方法)
- 用JS验证表单数据时的提交问题
- JS、jqueryie6浏览器下使用js无法提交表单的解决办法
- a标签点击跳转或表单提交前弹出确认框
- LINK - JS: 使用event.preventDefault 阻止表单控件默认提交的行为
- HTML:模拟链接被按下,在新标签页打开页面,不使用window.open(可能被拦截)
- 一个使用JS提交表单并传递参数的问题
- 解决弹出的窗口window.open会被浏览器阻止的问题(自定义open方法)
- Window.ShowModalDialog使用手册 js弹出框 不同于open此弹出窗口不会被阻止
- 数据抓取中post与get方式的处理深入理解(不用给网页标签赋值也不用模拟提交js)
- 使用JS或jQuery模拟鼠标点击a标签事件代码
- 在页面中使用WebWork的token标签解决表单重复提交问题
- 解决弹出的窗口window.open会被浏览器阻止的问题
- 在页面中使用WebWork的token标签解决表单重复提交问题
- JS window.open或者表单提交中文参数乱码
- form表单post 提交模拟 window.open