У меня есть поле ввода, которое я хотел бы динамически проверить, пока пользователь печатает ... Я использую 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), но я думаю, что мой скрипт даже не достигает этого контроллера ...
Я пытался изменить строку url: '<?php echo base_url(); ?>register/check_user/' + t.value,
в моем скрипте jQuery, но, похоже, ни одна комбинация не работает. Например:
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
span показывает только сообщение «Проверка доступности».
Я пробовал свой скрипт в Chrome, Safari и IE8. Версия PHP 5.3.0 и jQuery 1.4.2 ...
Есть идеи, что здесь может быть не так?
Заранее спасибо за любую помощь!