Tankauth already has inbuilt function to check if a username is available or not. the function is located in library and model .
library function
function is_username_available($username)
{
return ((strlen($username) > 0) AND $this->ci->users->is_username_available($username));
}
function in model
function is_username_available($username)
{
$this->db->select('1', FALSE);
$this->db->where('LOWER(username)=', strtolower($username));
$query = $this->db->get($this->table_name);
return $query->num_rows() == 0;
}
now I want to use jquery to do some ajax checking by using the post method. I want to know the best way to do this..
should I create a new function in controller to check if the user name is available or not ? please tell me ,to which url jquery has to make post request..
<script type="text/javascript">
$(document).ready(function()
{
$("#username").change(function()
{
var username = $("#username").val();
var msgbox = $("#status");
if(username.length > 3)
{
$("#status").html('<img src="images/loader.gif"> Checking availability.');
$.ajax({
type: "POST",
url: "/index.php/auth/user_availability",
data: "username="+ username,
success: function(msg){
$("#status").ajaxComplete(function(event, request){
if(msg == 'OK')
{
$("#username").removeClass("red");
$("#username").addClass("green");
msgbox.html('<img src="yes.png"> <font color="Green"> Available </font>');
}
else
{
$("#username").removeClass("green");
$("#username").addClass("red");
msgbox.html(msg);
}
});
}
});
}
else
{
$("#username").addClass("red");
$("#status").html('<font color="#cc0000">Enter valid User Name</font>');
}
return false;
});
});
</script>
Thanks !