zoukankan      html  css  js  c++  java
  • thinkphp 框架中的一部分方法解析

     1 thinkphp 框架 中判断输入的数值和数据库中的数值是否一致

       首先 需要在view文件夹下建一个模板 名为zhuce.html

    <html>
    <head>
        <script src="__ROOT__/Public/js/jquery-1.11.2.min.js"></script>
    </head>
    <body>
            <div> 账号:<input type="text" name="num" id="uid"></div>
            <div id="ts"></div>
    </body>
    </html>

    我在控制器TextController.class.php中写了一个方法zhuce(),显示模板

    function zhuce()
    {
        $this->show();
    }

    这里需要用到ajax来写的,首选需要引入jquery包 已经在上面引入了

    <script type="text/javascript">
       $("#uid").blur(function(){
        var num = $(this).val();
        $.ajax({
            url:"__CONTROLLER__/chuli",
            data:{num:num},
            type:"POST",
            dataType:"TEXT",
            success:function(data)
              {
                   if(data.trim()=="1")
                      {
                          $("#ts").html("此账号已经存在");
                       } 
                  else    
                    {
                             $("#ts").html("此账号可用"); 
                     }
               }
    })
    })
    
    </script>

    上面涉及到一个chuli方法,那么这儿我们要开始写chuli方法了

    function chuli()
    {
          $n=D("login");
          $num=$_POST["num"];
          $aa=$n->where("num='{$num}'")->count();
           $this->ajaxReturn($aa,"eval");
    }

    这样就可以来判断这个账号是不是可以使用了,但是我们会发现有一个小bug,就是如果是空的话,那么会显示此账号可以使用,为了避免出现这样的失误,我们可以在js中 判断一下是不是为空  if(num.trim()==""){$("#ts").html("账号不可以为空")} else{执行ajax部分的内容就可以了}

    2 验证方法:

     首先是判断不为空的方法,这里可以直接用js来写是非常简单的,用的是nation表  我在view文件夹下写了一个jsdongtai.html的文件,

    <html>
    <head>
        <script src="__ROOT__/Public/js/jquery-1.11.2.min.js"></script>
    </head>
    <body>
       <div>
           代号:<input type="text" id="code"/>
           <span id="ts"></span>
       </div>
    </body>
    </html>

    然后就是判断代号是否为空

    <script type="text/javascript">
       $("#code").blur(function(){
         var code=$(this).val();
         if(code.trim()=="")
          {
             $("#ts).html("代号不能为空");
          }
         else
        {
           $("#ts").html("验证通过");
        }
    
    })
    
    </script>

    然后用jsdongtai方法调一下就可以了 function jsdongtai(){$this->show();}

    如果我们用ajax来调的话可能比较麻烦,但是对于其他的验证来说要方便的多了,我们可以在方法里面添加多个验证

    比如我们用一个dongtai.html的模板  和jsdongtai.html的html部分是一样的,这样我们就只需要写ajax部分就可以了   

    <script type="text/javascript">
      $("#code").blur(function(){
         var code=$(this).val();
         $.ajax({
             url:"__CONTROLLER__/yanzheng",
             data:{code:code},//第一个code必须是和表中的一致
            type:"POST",
            dataType:"TEXT",
             success:function(data)
               {
                    if(data.trim()=="1")
                       {
                           $("#ts").html("验证通过"),
                        }
                        else
                       {
                           $("#ts").html("此处不能为空"),
                        }
               }
    })
    })
    </script>

     下面是yanzheng方法

    function yanzheng()
    {
          $n=D("nation");
          $a=array(
           array("code","require","此处不能为空"))
           if($n->validate($a)->create())
             {
                   $this->ajaxReturn("1","eval");
              }
             else
                 {
                      $this->ajaxReturn($n->getError(),"eval")
                  }
    }

    在我们平时做验证的时候,很少会用ajax,相对来说比较麻烦,我们用简单的js就可以完成的,比如我做一个关于邮箱的验证,在jsdongtai.html中加入这一句

    <div><input type="text" id="email"/><span id="aa"></span></div>

    然后我们开始做邮箱的验证了,我用的js都是引入的jquery包,前面已经引入过了,这里就不再详说了

    <script type="text/javascript">
    
    $("#email").blur(function(){
         var email = $(this).val();
         $zz=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/;
        if(email.match($zz)==null)
       {
            $("#aa").html("邮箱格式不正确");        
       }
       else
       {
             $("#aa").html("邮箱验证成功");    
       }
    })
    </script>
  • 相关阅读:
    GitLab 介绍
    git 标签
    git 分支
    git 仓库 撤销提交 git reset and 查看本地历史操作 git reflog
    git 仓库 回退功能 git checkout
    python 并发编程 多进程 练习题
    git 命令 查看历史提交 git log
    git 命令 git diff 查看 Git 区域文件的具体改动
    POJ 2608
    POJ 2610
  • 原文地址:https://www.cnblogs.com/xiaodouding/p/6812867.html
Copyright © 2011-2022 走看看