在使用PHP CodeIgniter和JQuery点击提交按钮之前,检查用户名是否存在
Check if username exists before hitting the submit button using PHP CodeIgniter and JQuery
我甚至在使用 CodeIgniter 点击提交按钮之前就试图检查用户名是否存在。在我看来,这是Javascript。
<script type="text/javascript" src="../assets/js/jquery.min.js"></script>
<script type="text/javascript"><!--'
$(document).ready(function(){
$('#username').keyup(username_check);
});
function username_check(){
var username = $('#username').val();
if(username == "" || username.length < 4){
$('#username').css('border', '3px #CCC solid');
$('#tick').hide();
}else{
jQuery.ajax({
type: "POST",
url: "addpatient/insert",
data: 'username='+ username,
cache: false,
success: function(response){
if(response == 1){
$('#username').css('border', '3px #C33 solid');
$('#tick').hide();
$('#cross').fadeIn();
}else{
$('#username').css('border', '3px #090 solid');
$('#cross').hide();
$('#tick').fadeIn();
}
}
});
}
}
</script>
以下是表格的一部分:
<form method="post" action="addpatient/insert">
<table id='addpatient'>
<tr>
<td width=100> Username:
<td width=150> <input type='text' id='username' name='username'>
</tr> .....
这是控制器的一部分(功能insert
)
$patient['username'] = strtolower($this->input->post('username'));
$response = $this->user->check_username($patient['username']);
下面是模型中的一个函数:
function check_username_availability($username){
$query = $this->db->query("SELECT username FROM users WHERE username = '".$username."'");
$this->db->limit(1);
$num = $query->num_rows();
return $num;
}
每当我尝试它时,结果总是有效的,即使数据库中已经存在这样的用户名。我认为我的问题出在javascript的type: "POST"
上。它如何获取(在model
中获取)的行数到javascript?我只是在这里拍了我的代码。请帮我完成这项工作。我是使用CodeIgniter框架的新手。谢谢!
编辑
$(document).ready(function(){
$('#username').keyup(username_check);
});
function username_check(){
var username = $('#username').val();
if(username == "" || username.length < 4){
$('#username').css('border', '3px #CCC solid');
$('#tick').hide();
}else{
var url = 'addpatient/insert';
var data = {username:'username'};
$.post(url, data, function(result){
console.log(result);
function(response){
if(response == 1){
$('#username').css('border', '3px #C33 solid');
$('#tick').hide();
$('#cross').fadeIn();
}else{
$('#username').css('border', '3px #090 solid');
$('#cross').hide();
$('#tick').fadeIn();
}
}
}
});
}
}
假设你的 php 代码返回正确的值...在成功回调中修剪结果或返回 json。
if($.trim(response) == 1)
试试这个
function check_username_availability($username){
$query = $this->db->query("SELECT username FROM users WHERE username = '".$username."'");
$this->db->limit(1);
$num = $query->num_rows();
echo $num; //echo the value instead return
}
我认为你的ajax调用是问题所在。您发布的数据应该是一个对象。尝试在jquery中执行此操作。它更容易:
var url = 'addpatient/insert';
var data = {username:'username'};
$.post(url, data, function(result){
console.log(result);
..your success function..
});
相关文章:
- 使用javascript反复检查用户在facebook上的登录状态
- 如何检查用户在html5视频播放器中观看了完整的视频
- 如何检查用户已经登录facebook
- 如何检查用户是否使用$routeChangeStart登录angularjs
- 如何使用sendy检查用户(已订阅或未订阅)的状态
- 检查用户是否在Orchard CMS中获得授权
- HTML.如何检查用户是否在表单中输入了文本
- 如何检查用户是否开始关注
- 检查用户是否正在访问纯根url
- 检查用户是否具有角色分析云代码
- 如何检查用户是否已经在NodeJs-Mongoose中关注其他用户
- Facebook JavaScript SDK 检查用户是否为粉丝(错误:指定的版本无效)
- 角度2:检查用户的浏览器是否兼容
- 根据数组中的值检查用户输入值
- 如何检查用户是否有网络摄像头
- 通过同步调用检查用户是否存在
- Angular JS授权-在加载页面之前检查用户角色
- Node.js:Passport,检查用户是否已经登录
- Javascript:检查用户是否's的输入文本是“;空白语言”;
- Jquery检查用户是否在底部不工作