yzx8819 发表于 2014-7-4 03:29:09

CI 自带表单验证 + jquery ajax 注册验证

本帖最后由 yzx8819 于 2014-7-4 12:40 编辑

最近开始研究CI,今天研究到注册登录验证。翻看论坛资料后发现,CI自带的表单验证是后台的。但是我个人比较追求前端的体验,故想把jquery+CI自动表单验证相结合。让用户每 blur 一个 input 时都会得到 CI自动表单验证 反馈回的 validation_errors();

V部分:把input的值传给C
<?php echo form_open('login/signin') ?>
      
      
    <p>用户名:<?php echo form_input('name','','id="name"') ?></p><div id="ninput"></div>


      <p><?php echo form_submit('submit','登陆','id="submit"')?></p>


<?php echo form_close() ?>

<br /><br />

<?php echo anchor('login/register','注册')?>

<script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
<SCRIPT LANGUAGE="JavaScript">

$(document).ready(function() {
      
      $('#name').blur(function(){
               
                var username = $("#name").val();
               
                $.ajax({
                              type:"POST",
                              url:"<?php echo base_url().'login/recheckme'?>",                        
                              data:{name:username},
                              success:function(data){
                                        //alert(data);
                                       $("#ninput").html(data);
                              }
                        })
      })
});

$('#submit').click(function(){
      return false;
});

</SCRIPT>




C部分:

      function recheckme(){

                $_POST['name']=$this->input->post('name');

                $this->form_validation->set_rules('name','用户名','trim|required');      
               
                if ($this->form_validation->run() == FALSE){
                        echo validation_errors();
                }

      }



最后成功把错误信息传回来了!;

页: [1]
查看完整版本: CI 自带表单验证 + jquery ajax 注册验证