区块链技术博客
www.b2bchain.cn

jQuery验证与Codeigniter问题 – php程序员分享

本文介绍了jQuery验证与Codeigniter问题 – php程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

我有一个输入字段,我想在用户键入时动态验证…我正在使用Codeigniter,我相信我有一些URI问题…让我向您展示代码…

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;         }     }); }); 

我的codeigniter控制器具有一个非常简单的功能:

function check_user($username) {     // var_dumping stuff goes here } 

在这里,我只是想尝试var_dump不同的东西(例如$ _SERVER,$ _ REQUEST,$ username),但是我认为我的脚本甚至没有到达那个控制器…

我试图在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 …

有什么想法在这里可能出什么问题吗?

感谢您的任何帮助!

参考方案

我发现您的代码可能存在多个问题:

路线设置正确吗?

在您的CodeIgniter routes中,执行以下操作:

$route['register/check_user/(:any)'] =" register/check_user/$1"; 

在您的CodeIgniter控制器中,使用以下命令访问变量:

function check_user() {     $username = $this->uri->segment(3);     var_dump($username);     // var_dumping stuff goes here } 

另外,我建议使用jQuery Text Change event,它对我很有用,而不是使用setTimeouts和keyup。

例:

$('#username').bind('textchange', function () {    $.post('<?php echo base_url(); ?>register/check_user/' + this.value, function(data) {       $('#validateUsername').html(data);     }); }); 

在我的PHP文件中,我将一些变量从输入框传递到链接中,该链接通过jQuery的ajax load函数在其URL中使用该变量加载页面。整个系统运行良好,但仅适用于单字变量。每当涉及到空格时,我的Ajax通话都会中断。我假设这是一个编码问题,但是我也有一些疑问。基本上,它归结为我的PHP文件中的这一行代码,这导致了混乱。是否有可能找出格式是否正确,或者为什么在多…

tdata = new Array(); tdata['id'] = "helloid"; tdata['name'] = "helloname"; tdata['location'] = "hellolocation"; tdata[&#…

我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…

我想增加i的值。 “ for”循环不起作用。$("a[href$='.xls']").appendTo(".xl1").attr('id','xl'+i); 我搜索所有excel文件,并将它们放在容器中并增加其id的值。谢谢吉恩 参考方案 $("a[…

我使用jquery .load函数查询将输出一些数据的php文件。现在有时脚本将不返回任何内容。在这种情况下,可以让load函数不将任何数据放入指定的div吗? (现在,它清除了div并仅放置了一个空白的白色区域。谢谢! 参考方案 尝试使用$ .get;$.get('<url>',{param1:true},function(…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » jQuery验证与Codeigniter问题 – php程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们