文档章节

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);
            
                
            }    
            
        }
    
    });

© 著作权归作者所有

共有 人打赏支持
奋斗的小菜一碟
粉丝 12
博文 35
码字总数 8248
作品 0
广州
程序员
Struts 学习笔记之ActionForm

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

xiahuawuyu
2012/05/17
0
0
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
在js中window.open通过“post”传递参数

在js中window.open通过“post”传递参数的步骤如下: 如:在A.jsp中 有一个js方法 winow.open,目标地址是 xx.do 1、在A.jsp建一个form,把要设置的值通过js动态添加到里面,如: $("#postForm...

xiaoyang0878
2013/09/26
0
1
code-rhythm:写了个vscode扩展,让代码更有快感

项目地址 Github - onvno/code-rhythm 原因 写代码本身是件快乐的事情,但开发中总有各种烦恼。 有时候一个很简单的方法,因为不确定传参的形式,不确定返回形式,不确定具体用法,就得翻墙,...

onvno_
06/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringData JPA 在解析实体类字段时驼峰自动添加下划线问题

SpringData JPA 使用的默认命名策略是: ImprovedNamingStrategy 。用下划线转换驼峰名,如 authorId ,转换成 author_id 。这样就遇到了一个问题:实体中驼峰命名的列名转换成下划线后,在M...

Jacktanger
16分钟前
0
0
Android JNI开发系列(十)JNI访问 Java 实例变量和静态变量

JNI访问 Java 实例变量和静态变量 Java 中的实例变量和静态变量,在本地代码中如何来访问和修改。静态变量也称为类变量(属性),在所有实例对象中共享同一份数据,可以直接通过类名.变量名来...

蔡小鹏
21分钟前
0
0
jsapi4加载的首个图层的范围被默认作为地图范围,且不能修改的解决

在map加载的第一个图层的图层范围(fullExtent),会被默认设置为map的全图范围,且不能更改,从一般地图控件角度来说,应该有fullExtent属性,作为地图的全图范围,但很遗憾jsapi4.9还没有 ...

canneljls
21分钟前
0
0
JSON.stringify()

JSON.parse()与JSON.stringify()的区别 JSON.parse()【从一个字符串中解析出json对象】 例子: //定义一个字符串 var data='{"name":"goatling"}' //解析对象 JSON.parse(data) 结果是: na...

废柴
22分钟前
0
0
HashSet

前言 Set的实现类都是基于Map来实现的(HashSet是通过HashMap实现的)。 构造图如下: 蓝色线条:继承 绿色线条:接口实现 正文 对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保...

狼王黄师傅
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部