JavaScript动态生成Form提交

发布时间 2023-08-30 00:49:19作者: 斯斯20222
function post(url, params) {     
     var tempForm = document.createElement("form"); 
         tempForm.action = url;      
    tempForm.method = "post";     
     tempForm.style.display = "none";    
      for (var x in params) {            
  var opt = document.createElement("textarea");       
       opt.name = x;     
         opt.value = params[x];   
           // alert(opt.name)              tempForm.appendChild(opt);
          }         
 document.body.appendChild(tempForm); 
         tempForm.submit();
          return tempForm;    
  } //调用方法   
 post('login.do', {username : xxxx, password : yyyy});
function postParamAndOpenWindow(urlAndQuery){    // 分割url和请求参数    var pos = urlAndQuery.indexOf('?')     var url = urlAndQuery.substring(0, pos);  
  var query = urlAndQuery.substring(pos + 1); 
   // 动态建立Form中的数据    var tempForm = document.getElementById('tmpForm'); 
   tempForm.action = url;   
       tempForm.method = "post";
    var pairs = query.split("&");  
        for(var i = 0; i < pairs.length; i++) {    
        var pos = pairs[i].indexOf('=');
           if (pos == -1) continue;   
         var argname = pairs[i].substring(0, pos);    
        var value = pairs[i].substring(pos + 1);   
         var opt = document.createElement("textarea");    
          opt.name = argname;       
     opt.value = value;      
      tempForm.appendChild(opt);      
   }     tempForm.submitBtn.click();  
  return tempForm; 
}//在页面处<a href="#" onclick="postParamAndOpenWindow("http://www.xxx.com/login?username=xxx&password=yyy');">

  

项目中,我们一般都是写上隐藏的form标签,用<a href="#" οnclick="..."/>来调用js函数,给form中表单要提交的内容赋值,然后submit提交。如果页面没有隐藏的form,我们可以用JavaScript动态生成Form提交,或者只有一个隐藏form,动态生成要传递的参数。
————————————————
版权声明:本文为CSDN博主「iteye_16906」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iteye_16906/article/details/81890001