用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5355|回复: 8
收起左侧

请教,jQuery中formValidator2.1插件验证用户名是否重复的问题

[复制链接]
发表于 2009-1-15 23:39:27 | 显示全部楼层 |阅读模式
本人刚接触ci和jquery2天。
学习用ci做个用户注册的页面。需要判断输入的注册名是否重复。
于是找到了jQuery,找到了formValidator2.1插件。

下面是问题

http://192.168.1.4/CodeIgniter/index.php/register   这里是注册页面

控制器里有个get_username函数。
function get_username($username){
  $this->db->select('username');
  $this->db->where('username',$username);
  $this->db->from('users');
  $query = $this->db->get();
  if ($query->num_rows()>0)
  {
   echo '0';
  }
  else
  {
   echo '1';
  }
}
以下是view/register.php文件中的ajax验证部分。(AjaxValidator和jQuery中的$.ajax一样)
.AjaxValidator({
     type : "post",
  url : "<?=site_url()?>/register/get_username/" + $("#username").val(),
  datatype : "text",
  success : function(data){
            if( data == "1" )
   {
                return true;
   }
            else
   {
                return false;
   }
  },
  buttons: $("#button"),
  error: function(){alert("error");},

每次在表单中输入用户名并onblur的时候,都会触发这个事件,但是每次都是返回error。请问是怎么回事?

如果url我写一个准确的地址, 比如<?=base_url()?>test.php 就不会返回error了。

时间到了,问题暂时不能详细地描写清楚,明天再上来修改修改。
发表于 2009-1-16 00:00:20 | 显示全部楼层
这个你应该用 firebug 看看到底提交的是什么数据,就清楚怎么回事了。
 楼主| 发表于 2009-1-16 08:41:45 | 显示全部楼层
可能是插件问题吧。
我这样写
url : "<?=site_url()?>/register/get_username/",

提交的却是
url : "<?=site_url()?>/register/get_username/?username=jhgasj",

username是输入用户名那个表单,后面=输入的值
发表于 2009-1-16 10:15:02 | 显示全部楼层
呵呵 这是 GET 方式吧!改成 POST 方式,你看看 jq,肯定有个选项的,我对 jq 不熟悉,呵呵。
 楼主| 发表于 2009-1-16 10:42:14 | 显示全部楼层
我试了很多次。 发现问题不在post或者get上

关键是url这段,无论怎么写,jQuery这个插件都会在请求的url后面加上?表单名=值

比如 url : "<?=site_url()?>/register/get_username/"

在Firebug下显示请求的地址为 <?=site_url()?>/register/get_username/?username=sdahjd

假如 <?=site_url()?>/register/get_username/sdahjd 是可以处理的

可是现在请求的url变成了<?=site_url()?>/register/get_username/?username=sdahjd 就会返回404错误。

想问一下CI能不能处理这样的URL地址啊?
 楼主| 发表于 2009-1-16 10:57:53 | 显示全部楼层
问题解决了。

修改了一下插件处理url的方法。 让它不自动添加?表单名=值

就OK了!
发表于 2009-1-16 11:31:52 | 显示全部楼层
CI 可以接收 GET 传参数,请看 FAQ
发表于 2009-2-16 17:42:28 | 显示全部楼层
CI要是把Ajax包进来就轻松了。期待......
发表于 2009-2-16 22:36:18 | 显示全部楼层
CI要是把Ajax包进来就轻松了。期待......
neversaylate 发表于 2009-2-16 17:42

我在 www.iqwer.com 上实现了一个 CI 结合 mootools 的 ajax 架构。

本版积分规则