`
fengpeng
  • 浏览: 103077 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • 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.     }  
分享到:
评论

相关推荐

    ASP.NET源码——[学校班级]peny 学生单项选择考试系统.zip

    4. **数据库交互**:考试系统的数据,如题目、选项、学生答案等,通常会存储在关系型数据库中,如SQL Server。ASP.NET的ADO.NET库或Entity Framework可以用来与数据库进行交互,执行CRUD(创建、读取、更新、删除)...

    ASP,NET源码——[学校班级]peny 学生单项选择考试系统.zip

    系统可能包含多个数据库表,如“学生表”存储学生信息,“考试表”记录考试设置,“试题表”保存题目及选项,“答案表”记录学生的答题情况。数据库设计应遵循第三范式,确保数据的一致性和完整性。 3. **身份验证...

    动态添加表单

    - **Ajax通信**:如果需要在添加表单项后立即提交数据,可以使用Ajax向服务器发送请求,更新数据库。 3. **技术栈** - **前端框架**:如React、Vue或Angular提供了便利的API来简化动态表单的构建。例如,React的`...

    2022年《电子商务网页设计与制作》综合测试卷及答案.docx

    10. Ajax框架的表单功能:Dreamweaver中的Ajax框架功能可以创建动态、交互性强的表单,通过Ajax技术实现实时验证,提高用户体验。 单项选择题涉及的知识点包括: 1. 绝对路径:绝对路径是完整的URL,可以指向任何...

    MVC实用实例源代码

    这通常包括获取记录详情、显示编辑表单、接收并验证更新的数据,然后更新数据库中的相应记录。这一过程需要注意数据验证,防止非法数据输入,同时也要处理并发更新时可能出现的问题。 以上就是基于给定的文件名所...

    文件批量上传

    5. **服务器端处理**:在Struts2中配置相应的Action来接收上传的文件,通常涉及文件的存储、数据库记录更新等操作。 6. **响应处理**:服务器处理完请求后,通过JSON格式返回结果,前端根据返回的结果进行相应的UI...

    ASP.NET程序开发范例宝典(C#)

    通过创建Access数据库并将其与ASP.NET应用程序进行连接,演示如何在ASP.NET项目中实现简单的数据存储功能。 - **示例004**:连接SQL Server数据库。详细介绍如何将ASP.NET应用程序与SQL Server数据库进行连接,实现...

    jsp + servlet 级联菜单

    在Java Web开发中,JSP(JavaServer Pages)和Servlet是两种常见的技术,它们结合使用可以构建动态网页应用。在这个“jsp + servlet 级联菜单”项目中,我们将探讨如何利用这两者来创建交互式的级联(或下拉)菜单,...

    非常实用的管理系统 网站后台html模板

    在这款模板中,主菜单的展开方式通常通过JavaScript或jQuery实现,当点击主菜单项时,会动态加载或隐藏对应的子菜单。这种方式增加了用户体验,使得导航更加直观和流畅。同时,考虑到网页的响应式设计,模板可能还...

    jQuery在线试卷答题代码

    在在线答题系统中,jQuery用于提高页面的交互性和用户体验,例如通过AJAX实现动态加载题目、提交答案等功能。 2. 在线答题系统架构:此类系统通常由前端展示层(HTML、CSS、JavaScript)、后端逻辑处理层(如PHP、...

    shopping_list_django_project

    每个模型类都对应数据库中的一个表,通过定义字段和关系来描述数据的属性和关联。 3. 视图(View): 视图负责处理HTTP请求并返回HTTP响应。它们是Django应用的核心,通常包含业务逻辑。在这个项目中,视图可能...

    网络多媒体管理系统需求分析

    - **软件架构合理,开发方便**:采用了J2EE平台的软件架构,整合了“Ajax+Structs+Spring+Hibernate”技术栈,利用XML作为“数据总线”,简化了数据访问过程,提高了开发效率。 - **层次清楚,符合标准**:遵循...

    ZendFramework中文文档

    3.2. 数据库表认证 3.2.1. 简介 3.2.2. 高级使用:持久一个 DbTable 结果对象 3.2.3. 高级用法示例 3.3. 摘要式认证 3.3.1. 简介 3.3.2. 规范(Specifics) 3.3.3. 身份(Identity) 3.4. HTTP 认证适配器 ...

Global site tag (gtag.js) - Google Analytics