I have an Ajax function which checks whether username
is available or not. But if I use a button and click function it works. I don't want to use button. So I am checking availability on changing the username2
field. But is is not working. No Ajax call is going.
$('#user_name2').change(function(){
//$(".help-block1").hide();
var user_name = $("#user_name2").val();
var name = $("#u_name").val();
//var hidd = $("#hidd").val();
var baseurl = $("#site_url").val();
if (user_name == '') {
$("#user_name2").after('<p class="help-block1"><b style="color:red;">Enter a username first</b></p>');
}
else if (user_name == name) {
$("#user_name2").after('<p class="help-block1"><b style="color:red;">This is current username</b></p>');
}
else {
$.ajax({
url: "" + baseurl + "user/check_user",
async: false,
type: "POST",
dataType: "json",
cache: false,
data: {
user_name: user_name
},
success: function(response) {
if (response.res_user == 'exist') {
$("#user_name2").after('<p class="help-block1"><b style="color:red;">Username alredy exist</b></p>');
$("#user_name2").focus();
$("#hidd").val('fail');
}
else if (response.res_user == 'available') {
$("#user_name2").after('<p class="help-block1"><b style="color:' + response.status + ';">Username available</b></p>');
}
else {
$("#user_name2").after('<p class="help-block1"><b style="color:red;">Error. Try again</b></p>');
}
}
});
//return false;
}
});
And HTML part is here
<div class="form-group">
<label for="exampleInputEmail1">User Name</label>
<input type="text" maxlength="255" class="form-control" id="user_name2" placeholder="" value="' . $res[0]->u_name . '"required>
<input type="hidden" id="u_name" value="' . $res[0]->u_name . '">
</div>