本文件是为无刷新页面提交数据而编写的几个公共方法,以便在提交form中的数据更方便; |
本文件是为无刷新页面提交数据而编写的几个公共方法,以便在提交form中的数据更方便; 第一步:创建对象Request; 第二步:获取form表单中的数据,并组织为字符串; 第三步:发送数据库到服务器; */ var ajax_submit_request =null; /* 创建一个请求对象,根据浏览器的不同; */ function createFormRequest() { var req; if(window.XMLHttpRequest) { req = new XMLHttpRequest(); if (req.overrideMimeType) { req.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } /* if (!req) { window.alert("不能创建XMLHttpRequest对象实例."); return false; } */ return req; } /* 创建一个请求对象,根据浏览器的不同; */ function getFormElementStr(formid) { var result =new String(); var l = new Number(); eval('l = document.' + formid + '.elements.length'); for (var i = 0; i < l; i++) { var tempvalue = new String(); var tempid = new String(); var temptype = new String(); eval('tempid= document.' + formid + '.elements[i].name;'); eval('temptype= document.' + formid + '.elements[i].type;'); //alert(tempid); //alert(temptype); if (temptype=='text'){ eval('tempvalue= document.' + formid + '.elements[i].value;'); }else if (temptype=='textarea'){ eval('tempvalue= document.' + formid + '.elements[i].value;'); }else if (temptype=='hidden'){ eval('tempvalue= document.' + formid + '.elements[i].value;'); }else if(temptype=='select-one'){ eval('tempvalue=document.' + formid + '.elements[i].options[document.' + formid + '.elements[i].selectedIndex].value;'); }else if(temptype=='radio'){ eval('if(document.' + formid + '.elements[i].checked) tempvalue=document.' + formid + '.elements[i].value;'); }else if(temptype=='checkbox'){ var checkValue=new String(); checkValue=""; eval('if (document.' + formid + '.elements[i].checked==true) {checkValue=document.' + formid + '.elements[i].value}'); if(checkValue==''){ }else{ if (tempvalue==''){ tempvalue+=checkValue; }else{ tempvalue+=','+checkValue; } } }else if (temptype=='select-multiple'){ //计算Option的个数 //根据个数循环检测数值,并 var optionLen=new Number(); eval('optionLen=(document.' + formid + '.elements[i].options.length)'); for(var j=0;j<optionLen;j++){ var checkValue=new String(); checkValue=""; eval('if (document.' + formid + '.elements[i].options[j].selected) checkValue=(document.' + formid + '.elements[i].options[j].value);'); if(checkValue==''){ }else{ if (tempvalue==''){ tempvalue+=checkValue; }else{ tempvalue+=','+ checkValue; } } } //循环检查数据 } if (tempvalue !='') { if (result !='') { result += "&" + tempid + "=" + tempvalue; }else result = tempid + "=" + tempvalue; } } return result; } /* 同步发送数据并返回服务器的返回数据; */ function sendFormData(url,data) { if (ajax_submit_request ==null) { ajax_submit_request =createFormRequest(); } ajax_submit_request.open("POST",url,false); ajax_submit_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); ajax_submit_request.send(data); return ajax_submit_request.responseText; } /* 异步发送数据并返回服务器,使用回调函数处理服务器的相应; */ function sendAsFormData(url,data,onreadystate) { var ajax_submit_request1 =createFormRequest(); ajax_submit_request1.open("POST",url,true); ajax_submit_request1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); ajax_submit_request1.onreadystatechange =function(){ if (ajax_submit_request1.readyState == 4) { var restext=ajax_submit_request1.responseText; onreadystate(restext); } } ajax_submit_request1.send(data); } |