方法一:使用jqueryForm插件提交表单注册

①首先引入jquery和jqueryForm插件

<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="jquery.form.js"></script>

②表单通过ajax方式提交

<script type="text/javascript">

          $('form').submit(function(){
                     //具体实现使用jqueryForm的方式ajax提交
                     $(this).ajaxSubmit({
                                  url:" ",//指定表单的提交地址
                                  type:'post',//请求类型 post/get
                                  dataType:'json',//指定数据交互格式
                                  success:function(msg){
                                            if(msg.status==1){
                                            //注册成功
                                           location.href='跳转地址' ;
                                        }else{
                                            alert(msg.msg);
                                     }
                                 }
                             });
                               //阻止当前的表单默认的提交
                               return false;
                 });
</script>

方法二:以TP为例通过Ajax无刷新校验用户名(推荐)

<input  type="text" name="name" id="username" style="color:#ccc;" onblur="checkname()"/>

①表单页通过Ajax提交

<script type="text/javascript" src="jquery-1.8.3.min.js"></script>

<script type="text/javascript">

//校验用户名是否被占用
                function checkname(){
                var nm = $('[name=name]').val();
               //ajax去服务器端校验nm是否可用
                       $.ajax({
                                url:"/index.php/Home/User/checkName",
                                data:{'nm':nm},
                                dataType:'json',
                                type:'get',
                                success:function(msg){
                                if(msg.status===0){
                                $('#nameresult').html("<span style='color:red'>用户名已经被占用</span>");
                           }else{
                                $('#nameresult').html("<span style='color:green'>恭喜,用户名可以使用</span>");
                        }
                     }
                 });
              }
</script>

②服务器端响应

function checkName(){
                     if(IS_AJAX){
                     //接收客户端传递过来的"用户名"信息
                     $username = I('get.nm');
                     $info = D('User')->where(array('username'=>$username))->find();

if($info){
                               echo json_encode(array('status'=>0));//用户名被占用
                      }else{
                               echo json_encode(array('status'=>1));//用户名可以使用
                      }
                 }
             }

总结Ajax验证注册功能的两种方式的更多相关文章

  1. (原创)用Receiver和SystemService监听网络状态,注册Receiver的两种方式

    android中网络编程不可避免地要监听网络状态,wifi或者3G以及以太网,并根据当前状态做出相应决策. 在MyReceiver类中的onReceive方法中获得系统服务 ConnectivityM ...

  2. jquery ajax提交表单数据的两种方式

    http://www.kwstu.com/ArticleView/kwstu_201331316441313 貌似AJAX越来越火了,作为一个WEB程序开发者要是不会这个感觉就要落伍,甚至有可能在求职 ...

  3. Python之面向对象的组合、多态、菱形问题、子类中重用父类的两种方式

    一.组合 ''' 1.什么是组合 组合就是一个类的对象具备某一个属性,该属性的值是指向另外一个类的对象 2.为何用组合 组合也是用来解决类与类直接代码冗余问题的 3.如何用组合 ''' # 继承减少代 ...

  4. BBS-基于forms组件和ajax实现注册功能

    http://www.cnblogs.com/yuanchenqi/articles/7638956.html 1.设计注册页面 views.py from django import forms c ...

  5. Django学习笔记之利用Form和Ajax实现注册功能

    一.注册相关的知识点 1.Form组件 我们一般写Form的时候都是把它写在views视图里面,那么他和我们的视图函数也不影响,我们可以吧它单另拿出来,在应用下面建一个forms.py的文件来存放 2 ...

  6. 基于forms组件和Ajax实现注册功能

    一.基于forms组件的注册页面设计 1.运用forms组件的校验字段功能实现用户注册 views.py:    (在钩子中代码解耦,将form放在cnblog/blog/Myforms.py中) f ...

  7. 3- 功能2:基于forms组件和ajax实现注册功能

    1.forms组件的注册页面 url from django.urls import path, re_path from blog import views from django.views.st ...

  8. Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用

    1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...

  9. 网络协议 finally{ return问题 注入问题 jdbc注册驱动问题 PreparedStatement 连接池目的 1.2.1DBCP连接池 C3P0连接池 MYSQL两种方式进行实物管理 JDBC事务 DBUtils事务 ThreadLocal 事务特性 并发访问 隔离级别

    1.1.1 API详解:注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 原因有2个: >导致驱动被注册2 ...

随机推荐

  1. CUDA编程(六)进一步并行

    CUDA编程(六) 进一步并行 在之前我们使用Thread完毕了简单的并行加速,尽管我们的程序运行速度有了50甚至上百倍的提升,可是依据内存带宽来评估的话我们的程序还远远不够.在上一篇博客中给大家介绍 ...

  2. hdu2993之斜率dp+二分查找

    MAX Average Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  3. POJ3621 Sightseeing Cows(最优比率环)

    题目链接:id=3621">http://poj.org/problem?id=3621 在一个有向图中选一个环,使得环上的点权和除以边权和最大.求这个比值. 经典的分数规划问题,我认 ...

  4. or1200处理器的异常处理类指令介绍

    下面内容摘自<步步惊芯--软核处理器内部设计分析>一书 我们在计算机体系结构的学习中知道:中断实质上包含由外部事件引起的硬中断(又称外中断)和由内部预先安排的特定指令或内部异常引起的软中断 ...

  5. Angular专题系列之一:初识Anjularjs

    Angular作为一个前端的主流框架,以其强大的特性正在被越来越多的程序员们所使用,那么,什么是anjular呢?angularjs是一个javascript framework,一个js的框架,可以 ...

  6. NPOI:处理xls文件中的合并行

    /// <summary> /// NPOI根据路径获取文件转换成DataTable /// </summary> /// <param name="FileP ...

  7. 添加组groupadd,修改组groupmod,删除组groupdel,将用户加入删除组gpasswd

    groupadd -g GID :指定组id groupmod -g GID :修改组id -n 新组名 :修改组名 groupmod -n newname oldname groupdel grou ...

  8. Mac shell笔记

    用来自动执行一些前端发布的操作. 脚本: # webReleasePath用来发布的目录,webRevisionPath是开发的目录 webReleasePath='/Users/lufeng/Doc ...

  9. bootstrap html页面禁止放大缩小

    用bootstrap写的html页面,在手机端中禁止放大缩小: 亲测有效: <meta name="viewport" content="width=device- ...

  10. SVO环境搭建

    我是装了双系统,实验OS:Ubuntu14.04 Installation: Plain CMake (No ROS) 首先,建立一个工作目录比如:workspace,然后把下面的需要的都在该目录下进 ...