我遵循了有关 ajax 查找的教程,该教程会通知用户用户名是否已被使用。
所以控制器语法是:
<?php
class Login extends CI_Controller
{
function index()
{
$this->load->view('loginView');
}
function getResultfromdb($username){
$this->db->where('username',$username);
$query = $this->db->get('users')->num_rows();
if($query == 0 ) echo 'userOk';
else echo 'userNo';
}
}
观点是:
<html>
<head>
<title>Check User Name</title>
<link type="text/css" rel="stylesheet" href="<?=base_url()?>css/style.css"/>
</head>
<body>
<form method="post" action="">
<label for="username">Enter Your Name</label>
<input type="text" id="username"/>
<span class="checkUser" ></span>
<input type="hidden" class="hiddenUrl"/>
</form>
<script type="text/javascript" src="<?=base_url()?>js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="<?=base_url()?>js/check.js"></script>
</body>
</html>
check.js 是:
$(document).ready(function(){
$('#username').blur(function(){
if( $('#username').val().length >= 3 )
{
var username = $('#username').val();
getResult(username);
}
return false;
})
function getResult(name){
var baseurl = $('.hiddenUrl').val();
$('.checkUser').addClass('preloader');
$.ajax({
url : baseurl + 'index.php/login/getResultfromdb/' + name,
cache : false,
success : function(response){
$('.checkUser').removeClass('preloader');
if(response == 'userOk') $('.checkUser').removeClass('userNo').addClass('userOk');
else $('.checkUser').removeClass('userOk').addClass('userNo');;
}
})
}
})
如前所述,这很好用。所以它将验证bob
和andy
完美。但是它在bob smith
and上失败了andy jones
。如何修改代码以验证带空格的字符串?
一如既往地感谢,