文档章节

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

奋斗的小菜一碟
 奋斗的小菜一碟
发布于 2015/12/09 17:40
字数 299
阅读 1.1K
收藏 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
广州
程序员
私信 提问
加载中

评论(0)

jquery如何实现表单post方式提交

jquery如何实现表单post方式提交 一、总结 一句话总结:即使js给form对象提供了submit()方法,那也不意为表单中可以不写提交按钮这个元素,即form表单依然需要五脏俱全才可以使用js的submit(...

osc_o5wlp6ft
2018/07/18
6
0
Springmvc后台接前台数组,集合,复杂对象

本人转载自: http://blog.csdn.net/feicongcong/article/details/54705933 return "redirect:/icProject/index"; 重定向到请求 model.addAttribute("page", page); return "icProject/inde......

osc_yjaivn42
2018/01/15
6
0
《JavaScript实用效果整理》系列分享专栏

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

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

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

xiahuawuyu
2012/05/17
55
0
JeeSite 4.0 说说前端的那些事

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

ThinkGem
2017/11/05
5W
50

没有更多内容

加载失败,请刷新页面

加载更多

一言难尽,Jpa这个功能差点让我丢了工作

故事背景 前阵子,有位朋友在微信上问我数据被删了能不能恢复,我问了下原因,居然是因为一个配置项惹的祸。 故事细节 在 Spring Boot 中使用 jpa 来操作数据库,jpa 就不做详细的介绍了,相...

osc_axe50nd6
18分钟前
12
0
Link Cut Tree

//知识点 : LCT /*By:Luckyblock*/#include <cstdio>#include <ctype.h>#include <algorithm>#define ls (t[x].son[0])#define rs (t[x].son[1])const int kMaxn = 1e5 + 10;//===......

osc_q5urtsdm
19分钟前
25
0
【问题】Could not locate PropertySource and the fail fast property is set, failing

这是我遇到的问题 Could not locate PropertySource and the fail fast property is set, failing springcloud的其他服务读取不了配置中心得配置文件出错,原因是配置中心的一个配置文件有s...

osc_z9jr2tjo
21分钟前
14
0
Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(四)

在上一讲中,我们已经完成了一个完整的案例,在这个案例中,我们可以通过Angular单页面应用(SPA)进行登录,然后通过后端的Ocelot API网关整合IdentityServer4完成身份认证。在本讲中,我们...

osc_doeya1ck
21分钟前
16
0
[推荐]大量 Blazor 学习资源(一)

前言 / Introduction Blazor 是什么? Blazor 允许您使用 C# 而不是 JavaScript 构建交互式 Web UI。 Blazor 应用由使用 C#、HTML 和 CSS 实现的可重用 Web UI 组件组成。客户端和服务器代码...

osc_3r4js8qy
22分钟前
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部