【发布时间】:2015-08-25 05:12:09
【问题描述】:
classvalidation.php
<?php
class Validation{
public function __construct(){
$this->ajax_livecheck();
}
public function ajax_livecheck(){
// this connection have no problem i had the data if i load this.
//checking the mysql database for existed data
}
}
$Validation = new Validation();
?>
注册.php
jquery-1.9.0.min.js
<script>
//live validation name jquery
$(document).ready(function() {
$("#reg-username").keyup(function (e) {
//removes spaces from username
$(this).val($(this).val().replace(/\s/g, ''));
var username = $(this).val();
if(username.length < 4){$("#user-result").html('');return;}
if(username.length >= 4){
$("#user-result").html('<img src="imgs/ajax-loader.gif" />');
//if i am not using oop style it work , how should i connect this to oop?
$.post('/class/classvalidation.php', {'username':username}, function(data) {
$("#user-result").html(data);
});
}
});
});
</script>
<input type="text" name="username" id="reg-username" placeholder="Username" autocomplete="off"/><br>
<span id="user-result"></span>
这是一个实时名称检查验证,所以基本上它检查数据库是否存在任何名称。
如果我使用普通的 php 风格,这段代码可以工作。在我更改为 oop 样式后它失败了,我无法弄清楚如何与 jquery 连接。
是否有类似$.post("<? $Validation->ajax_livecheck(); ?>") 之类的连接函数?
【问题讨论】:
-
您从控制台收到任何错误?
-
不,但实时验证继续显示 ajax 加载器图像