JavaScript无刷新页面提交表单中的数据
/*
本文件是为无刷新页面提交数据而编写的几个公共方法,以便在提交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
}
/*
同步发送数据并返回服务器的返回数据;
*/
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);
}
欢迎转载,请注明出处:亲亲宝宝