博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

无刷新提交表单

Posted on 2005-09-09 10:47  ◇..﹎ヤ_影  阅读(100)  评论(0)    收藏  举报

 

使用方法
数据处理端加上
<script language="javascript" runat="server">
  
function unstr(str){
  
return unescape(str);
  }
</script>
调用 unstr(string) 处理接收到的数据

以下是
reform.js 文件内容

 
function reform(obj,debug){
   
var str="";
   
var actionURL=obj.action;
   
var str2=str;
   
var method="post";
   
if(obj.method!="post"){
 method
="get";   
   }
   
   
for(i=0;i<obj.elements.length;i++){
 
if(obj.elements[i].type=="text"||obj.elements[i].type=="password"||obj.elements[i].type=="textarea"||obj.elements[i].type=="button"||obj.elements[i].type=="submit"||obj.elements[i].type=="select-one"||obj.elements[i].type=="radio"){
     str
=str+"&"+obj.elements[i].name+"="+escape(obj.elements[i].value);
     }
       
if(obj.elements[i].type=="select-multiple"){
                
for(g=0;g<obj.elements[i].childNodes.length;g++){
                        
if(obj.elements[i].childNodes[g].selected){
                          str
=str+"&"+obj.elements[i].name+"="+escape(obj.elements[i].childNodes[g].value);
                    }
             }
        }
     
if(obj.elements[i].type=="checkbox"){
                 
for(e=0;e<document.getElementsByName(obj.elements[i].name).length;e++){
                      str
=str+"&"+obj.elements[i].name+"="+escape(document.getElementsByName(obj.elements[i].name)[e].value);
     }
                    
     }
   }
   
   str
=str.replace(str.substring(0,1),"");
   
   
var msg=getData(str,actionURL);
   
      
if(msg!=""){
      alert(debug);
   }
 

  
return false;
 }

function getData(obj,method){
 
var obj=obj;
 
var xmlObj=new ActiveXObject("Microsoft.XMLHTTP");
     xmlObj.Open(
"POST",method+"?",false);
  xmlObj.setRequestHeader(
"Content-Length",obj.length);
  xmlObj.setRequestHeader(
"content-type","application/x-www-form-urlencoded");
  xmlObj.Send(obj);
  
return xmlObj.ResponseText;

  
}