Ajax 的用户名检查失败
username check with Ajax fails
我正在使用 Codeigniter 4 和 ajax 检查用户名是否存在。失败了。
这是我用来检查用户名的代码。
当用户输入用户名
时,我希望弹出窗口在输入框下方显示(可用或不可用)
AJAX
<script>
$(document).ready(function() {
$("#unameAkun").keyup(function() {
var username = $(this).val().trim();
if (username != '') {
$.ajax({
url: '<?php echo base_url('Dashboard_db/cek_username') ?>',
type: 'post',
data: {
username: username
},
success: function(response) {
$('#username_result').html(response);
}
});
} else {
$("#username_result").html("");
}
});
});
</script>
型号
public function cek_username($email_akun){
return $this->db->table('tabel_akun')->where(array('email_akun'=>$email_akun))->get()->getRowArray();}
控制器
public function cek_username() {
if (isset($_POST['unameAkun'])) {
$username = $_POST['unameAkun'];
$results = $this->Akun_->cek_username($username);
if ($results>0) {
$response = "<span style='color: red;'>Not Available.</span>";
} else {
$response = "<span style='color: green;'>Available.</span>";
}
}
echo $response;
}
现在您正在查询电子邮件而不是用户名,请将您的模型更改为:
public function cek_username($username){
return $this->db ->table('tabel_akun')
->where(array('unameAkun'=>$username))
->get()
->countAllResults;
}
如您所见,我还将 getRowArray() 更改为 countAllResults(),如您所愿 return 用户名存在的频率。
此外,我会在 javascript 部分使用 change
而不是 keyup
,所以它只会检查,一旦你有完整的用户名(事件被推迟到元素丢失focus) 而不是每个字母,但这是可选的,如您所愿。
我正在使用 Codeigniter 4 和 ajax 检查用户名是否存在。失败了。
这是我用来检查用户名的代码。 当用户输入用户名
时,我希望弹出窗口在输入框下方显示(可用或不可用)AJAX
<script>
$(document).ready(function() {
$("#unameAkun").keyup(function() {
var username = $(this).val().trim();
if (username != '') {
$.ajax({
url: '<?php echo base_url('Dashboard_db/cek_username') ?>',
type: 'post',
data: {
username: username
},
success: function(response) {
$('#username_result').html(response);
}
});
} else {
$("#username_result").html("");
}
});
});
</script>
型号
public function cek_username($email_akun){
return $this->db->table('tabel_akun')->where(array('email_akun'=>$email_akun))->get()->getRowArray();}
控制器
public function cek_username() {
if (isset($_POST['unameAkun'])) {
$username = $_POST['unameAkun'];
$results = $this->Akun_->cek_username($username);
if ($results>0) {
$response = "<span style='color: red;'>Not Available.</span>";
} else {
$response = "<span style='color: green;'>Available.</span>";
}
}
echo $response;
}
现在您正在查询电子邮件而不是用户名,请将您的模型更改为:
public function cek_username($username){
return $this->db ->table('tabel_akun')
->where(array('unameAkun'=>$username))
->get()
->countAllResults;
}
如您所见,我还将 getRowArray() 更改为 countAllResults(),如您所愿 return 用户名存在的频率。
此外,我会在 javascript 部分使用 change
而不是 keyup
,所以它只会检查,一旦你有完整的用户名(事件被推迟到元素丢失focus) 而不是每个字母,但这是可选的,如您所愿。