我有一个带有电子邮件字段的表单,我想在 keyup() 上针对 MySQL 数据库进行验证。我也用用户名字段尝试过这个,这样做没有问题。但是由于某种原因,电子邮件的值不会发布到 php 函数或在您 onKeyUp() @ 符号的那一刻从控制器返回任何内容。一封电子邮件的@位于电子邮件地址中间的某个位置,例如 piet@pompies.com,“piet”可以正常发布,直到您按下班次 2 (@),然后一切都付诸东流。这是代码:
$( "#emailField" ).keyup(function(){
var email = $("#emailField").val();
$.post( "<?php echo URL_CHECK_EMAIL_EXISTS; ?>" + email, function( data ) {
alert(email);
});
});
这是控制器功能,即使我说一切都可以正常使用普通字符串,例如用户名。
public function check_email($email){
$exists = $this->User_Model->if_email_exists($email);
if($exists){
echo "true";
} else {
echo "false";
}
}
这是模型,效果很好:
public function if_email_exists($email){
$this->db
->from('users')
->where('email', $email)
->limit(1);
$query = $this->db->get();
if ($query->num_rows() > 0){
return true;
} else {
return false;
}
}