AJAX之验证某个表单项在数据库中唯一

  1. /*    
  2.  *  awx  
  3.  *  
  4.  *    
  5.  *  
  6. /*--------------------------------------------------------------------------*/     
  7.     /**  
  8.      *how to define obj  
  9.      *obj = {name:"the param's name, id as default",  
  10.      *       value:"the param's value,",  
  11.      *       feedback:"the data area id to show the check result"  
  12.      *      }  
  13.      *  
  14.      *how to use it  
  15.      *    checkMethod('url',obj)  
  16.      *  
  17.      *    for this ,we can use it in jsp/html.. like this:  
  18.      *    checkMethod("/check.do",{name:'id',value:'id_value',feedback:'feedback'});  
  19.      */  
  20.         
  21.     function checkMethod(url,obj/*The request parameter object has name and value fields*/){   
  22.       obj = checkPairObject(obj);   
  23.       if(obj.value !=""){   
  24.          document.getElementById(obj.feedback).innerHTML = "请稍候…………";   
  25.          send_request(url,obj);   
  26.       } else {   
  27.          alert("输入信息不能为空!");   
  28.       }   
  29.     }   
  30.        
  31.     function checkPairObject(obj){   
  32.       if(obj==null)obj = {};   
  33.       var name = obj.name;   
  34.       var value = obj.value;   
  35.       var feedback = obj.feedback;   
  36.       if(obj.name == null){   
  37.         obj.name = "id";   
  38.       }   
  39.       if(obj.value== null){   
  40.         obj.value="";   
  41.       }   
  42.       if(obj.feedback==null){   
  43.         obj.feedback="feedback";   
  44.       }   
  45.       return obj;   
  46.     }   
  47.        
  48.     var http_request = false;   
  49.   
  50.     function createPostParam(obj/*object to generate name and value and returned text area id */){   
  51.       obj = checkPairObject(obj);   
  52.       var pair_param = obj.name+"="+obj.value;   
  53.       return pair_param;   
  54.     }   
  55.        
  56.     function send_request(url,obj) {   
  57.         var queryString = createPostParam(obj);   
  58.         http_request = false;   
  59.         if(window.XMLHttpRequest) { //Mozilla    
  60.             http_request = new XMLHttpRequest();   
  61.             if (http_request.overrideMimeType) {//MiME   
  62.                 http_request.overrideMimeType('text/xml');   
  63.             }   
  64.         }   
  65.         else if (window.ActiveXObject) { // IE   
  66.             try {   
  67.                 http_request = new ActiveXObject("Msxml2.XMLHTTP");   
  68.             } catch (e) {   
  69.                 try {   
  70.                     http_request = new ActiveXObject("Microsoft.XMLHTTP");   
  71.                 } catch (e) {}   
  72.             }   
  73.         }   
  74.         if (!http_request) { //    
  75.             return false;   
  76.         }   
  77.         http_request.open("POST", url, true);   
  78.         http_request.onreadystatechange = function(){processRequest(obj.feedback);}   
  79.         http_request.setRequestHeader("Content-Type""application/x-www-form-urlencoded");       
  80.         http_request.send(queryString);   
  81.     }   
  82.        
  83.     function processRequest(show_return_area_id) {   
  84.         var f = document.form1;   
  85.         if (http_request.readyState == 4) {    
  86.             if (http_request.status == 200) {   
  87.                 var returnStr = http_request.responseText;   
  88.                 if(returnStr.indexOf("Error")==-1) {   
  89.                     document.getElementById(show_return_area_id).innerHTML ="";   
  90.                     alert(returnStr);   
  91.                 }   
  92.                 else {   
  93.                     document.getElementById(show_return_area_id).innerHTML ="";   
  94.                     alert(returnStr);   
  95.                 }   
  96.             } else {    
  97.                    document.getElementById(show_return_area_id).innerHTML = "";   
  98.                    alert("数据传输错误,稍后请重试!");   
  99.             }   
  100.         }   
  101.     }  

你可能感兴趣的:(Ajax,xml,jsp,Microsoft,IE)