我有一个输入字段,我想动态验证用户输入时......我使用Codeigniter,我相信我有一些URI问题...让我告诉你代码...与Codeigniter问题的jQuery验证
HTML/PHP:
<input type="text" id="username"> <span id="validateUsername"></span>
的jQuery:
$(document).ready(function() {
var validateUsername = $('#validateUsername');
$('#username').keyup(function() {
var t = this;
if (this.value != this.lastValue) {
if (this.timer) clearTimeout(this.timer);
validateUsername.removeClass('error').html('<img src="<?php echo site_url("public/images"); ?>/ajax-loader.gif" height="16" width="16" /> checking availability...');
this.timer = setTimeout(function() {
$.ajax({
url: '<?php echo base_url(); ?>register/check_user/' + t.value,
dataType: 'json',
type: 'POST',
success: function (j) {
validateUsername.html(j.msg);
}
});
}, 200);
this.lastValue = this.value;
}
});
});
我笨控制器有一个非常简单的函数的N:
function check_user($username) {
// var_dumping stuff goes here
}
在那里,我只是想不同的var_dump的东西(如$ _ SERVER,$ _REQUEST,$用户名),但我认为我的脚本甚至没有达到这个控制器...
我试图在我的jQuery脚本中更改url: '<?php echo base_url(); ?>register/check_user/' + t.value,
行,但似乎没有组合起作用。例如:
url: '<?php echo site_url('register/check_user/'); ?>' + t.value,
url: 'index.php/register/check_user/' + t.value,
url: 'register/check_user/' + t.value,
...不管我尽我validateUsername
跨度将只显示 “检查可用性” 的消息。
我在Chrome,Safari和IE8上试用我的脚本。 PHP版本是5.3.0和jQuery是1.4.2 ...
任何想法可能是错误的吗?
感谢您提前提供任何帮助!
你好,感谢您的帮助!是的,我实际上忘记了路由,但是当我设置它时,它仍然不起作用: - /我检出了jQuery文本更改,现在我正在使用该插件...非常优雅,容易:)感谢您的链接:) – errata 2010-11-08 23:57:53
没问题,很高兴我可以帮助:) – tpae 2010-11-09 00:00:40
+1,但值得一提的是'function check_user(){$ username = $ this-> uri-> segment(3);'也可以用'function check_user ($用户名)'。如果你在某个阶段改变结构,例如'module/controller/method/$ 1'(uri结构改变,意味着3将是无效的),这还有额外的好处。 – Ross 2010-11-09 09:08:33