文档章节

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

奋斗的小菜一碟
 奋斗的小菜一碟
发布于 2015/12/09 17:40
字数 299
阅读 86
收藏 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
广州
程序员
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
code-rhythm:写了个vscode扩展,让代码更有快感

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

onvno_
06/07
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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 反向跟踪

当反向跟踪(Trackback )被启用后,在任何你链接到可用启用自动发现功能的外部页面中,Confluence 将会自动发送一个方向跟踪 ping,这个 ping 能通知链接的页面有了内容改变。 Confluence 页...

honeymose
9分钟前
0
0
日期和时间API - 读《Java 8实战》

日期与时间 LocalDate 创建一个LocalDate对象并读取其值 // 根据年月日创建日期LocalDate date1 = LocalDate.of(2014, 3, 18);// 读取System.out.println(date1.getYear()); // 2014Sys...

yysue
16分钟前
0
0
8月15日任务

8月15日任务 Memcached命令行 • telnet 127.0.0.1 11211 • set key2 0 30 2 ab STORED get key2 VALUE key2 0 2 ab END 实例: [root@localhost 02]# telnet 127.0.0.1 11211-bash: te......

寰宇01
29分钟前
1
0
LNMP架构(Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间)

Nginx访问日志 1.打开配置文件,搜索log_format vim /usr/local/nginx/conf/nginx.conf 2.访问日志常用变量含义 $remote_addr : 客户端IP(公网IP) $http_x_forwarded_for : 代理服务器的IP ...

蛋黄_Yolks
29分钟前
0
0
lombok 不用再写pojo的getset

java实体类不写get/set方法 1、下载地址https://projectlombok.org/download Myeclipse、eclipse安装lombok Lombok是一种Java实用工具,可以帮助开发人员消除Java的冗长,具体看lombok的官网...

木之下
36分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部