文档章节

js截取URL并封装map集合+js动态创建Form表单并提交

奋斗的小菜一碟
 奋斗的小菜一碟
发布于 2015/12/09 17:40
字数 299
阅读 87
收藏 7

/**
 * js获取url传递参数
 */
function getRequest(url) {
      var requestMap = new Array();// 定义一个数组,用来把参数封装成map集合
       if (url.indexOf("?") != -1) {
          var str = url.substr(1);
          strs = str.split("&");
          for(var i = 0; i < strs.length; i ++) {
              var p = new Object;
                  if(i==0){
                      var temp = strs[i].split("=")[0];
                      var strTemp = temp.split("?")[1];
                      //alert("strTemp------->"+strTemp);
                      p.name=strTemp;
                  }else{
                      //alert("strs[i].split('=')[0]-------->"+strs[i].split("=")[0]);
                      
                      p.name = strs[i].split("=")[0];
                  }
                  //alert("strs[i].split('=')[1]-------->"+strs[i].split("=")[1]);
                      p.value=strs[i].split("=")[1];
            
              requestMap.push(p);
          }
       }
       return requestMap;
    }



/**
 * 发送post请求,提交表单
 */
function sendPost(URL, map) {
    var temp = document.createElement("form");        
    temp.action = URL; //URL没有带参数,?之前的      
    temp.method = "post";        
    temp.style.display = "none";        
    document.body.appendChild(temp);        
    for (var i=0;i<map.length;i++) {        
        var opt = document.createElement("input");
        opt.name = map[i].name;        
        opt.value = map[i].value;        
        temp.appendChild(opt);
    }        
    temp.submit();        
}  


//异步提交表单

var validObject = $("#userInfo").Validform({
        
        dataType:'json',
        tiptype:2,
        ajaxPost:true,
        callback:function(data){
            
            if(data.loginTip==0){
                var url = data.finalUrl;
                if(url!=null&&url!=""){
                    if(data.requestMethod=="POST"){
                        var requestUri = data.requestUri;//URL地址,?之前的地址
                        var map = getRequest(url);//返回map集合
                        sendPost(requestUri,map);//发送post请求,提交表单
                    }else{
                        
                        window.location = encodeURI(url);
                    }
                }else{
                    window.location = basePath+"/index.do";
                }
            }
            else if(data.loginTip==1){
                
                alert("用户名或者密码错误!");
            }
            else{
                alert("验证码错误!");
                var obj = document.getElementById("checkCode");
                changeValidateCode(obj);
            }
        },
        
        tiptype:function(msg,o,cssctl){
            
            if(!o.obj.is("form")){
                var tds=o.obj.text();
                
                var objtip=o.obj.siblings(".Validform_checktip");
                cssctl(objtip,o.type);
                objtip.text(msg);
            
                
            }    
            
        }
    
    });

© 著作权归作者所有

共有 人打赏支持
奋斗的小菜一碟
粉丝 11
博文 35
码字总数 8248
作品 0
广州
程序员
私信 提问
《JavaScript实用效果整理》系列分享专栏

整理一些使用的JavaScript效果,在Web开发中遇到的比较好的动态效果,都收藏在这里,对以后的网站开发增加不少的色彩 《JavaScript实用效果整理》已整理成PDF文档,点击可直接下载至本地查阅...

开元中国2015
10/29
0
0
Struts 学习笔记之ActionForm

Struts 中定义了一些JavaBeans,主要是以ActionForm为父类扩展开来的,如下图: ① org.apache.struts.action包中 public abstract class ActionForm implements Serializable public class ......

xiahuawuyu
2012/05/17
0
0
10个强大的Javascript表单验证插件推荐

创建一个JavaScript表单验证插件,可以说是一个繁琐的过程,涉及到初期设计、开发与测试等等环节。实际上一个优秀的程序员不仅是技术高手,也应该是善假于外物的。本文介绍了10个不错的JavaS...

leon_rock
2012/04/20
41.4K
4
JeeSite 4.0 说说前端的那些事

引言 一个不得不说的话题,经过近几年的发展,Web前端开发已经不是一个新有的岗位了,前端技术发展非常迅速,技术更新换代也很快,对于前端工程师来说是一个很大的挑战“挣扎期”。 从统计来...

ThinkGem
2017/11/05
0
41
标签 路径的指向

HTML <form> 标签 action URL 规定当提交表单时向何处发送表单数据。 HTML <iframe> 标签 src URL 规定在 iframe 中显示的文档的 URL。 前台项目JS ** 导出小米异常数据 zxy,2018-7-26 */ f...

森火
07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu16.04下安装docker

[TOC] 本文开发环境为Ubuntu 16.04 LTS 64位系统,通过apt的docker官方源安装最新的Docker CE(Community Edition),即Docker社区版,是开发人员和小型团队的理想选择。 1. 开始安装 1.1 由于...

豫华商
58分钟前
7
0
使用XShell工具密钥认证登录Linux系统

如果你是一名Linux运维,那么Linux服务器的系统安全问题,可能是你要考虑的,而系统登录方式有两种,密码和密钥。哪一种更加安全呢? 无疑是后者! 这里我为大家分享用Xshell利器使用密钥的方...

dragon_tech
今天
4
0
day178-2018-12-15-英语流利阅读-待学习

“真蛛奶茶”了解一下?蜘蛛也会产奶了 Lala 2018-12-15 1.今日导读 “蛋白质含量是牛奶的 4 倍,并有着更低的脂肪和含糖量”,听起来诱人又美味的并不是羊奶或豆奶,而是你可能打死都想不到...

飞鱼说编程
今天
11
0
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents

场景重现 npm install --verbose 安装依赖的时,出现如下警告 强迫症患者表示不能接受 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):npm WARN......

taadis
今天
2
0
OSChina 周六乱弹 —— 你一口我一口多咬一口是小狗

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文 :分享Roy Orbison的单曲《She's a Mystery to Me》 《She's a Mystery to Me》- Roy Orbison 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
432
6

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部