0
我写了一个PHP脚本,检查域是否可用于注册或不。帮助我的第一个自己的对象在JavaScript/jQuery
要自动化的过程中,我也写一个js脚本,自动发送AJAX调用到PHP脚本,并告诉用户域名是否是可用的,不提交表单:
$(document).ready(function() {
function Domain() {
this.name = '';
this.dotComRegistered = 1;
this.dotNetRegistered = 1;
this.dotOrgRegistered = 1;
}
Domain.prototype.check = function(input) {
this.name = input;
if (this.name.length >= 3 && this.name.length <= 63) {
$.get('check.php', { d : this.name }, function(json) {
alert(json);
this.dotComRegistered = $.evalJSON(json).com;
this.dotNetRegistered = $.evalJSON(json).net;
this.dotOrgRegistered = $.evalJSON(json).org;
});
}
}
var domain = new Domain();
var input = ''
$('#domain').keyup(function() {
input = $('#domain').val();
domain.check(input);
});
$('form').submit(function() {
input = $('#domain').val();
domain.check(input);
return false;
});
});
由于你可以看到我创建了一个名为Domain的对象,它代表了一个域名。该对象只有一个方法(除构造函数外)向PHP脚本(它返回json)发送AJAX请求。
问题是,Domain.prototype.check()方法不起作用(我没有看到一个警告窗口),我不知道问题出在哪里。当我将AJAX调用放在它工作的方法之外时,这不是问题。
我是一个OOP初学者,所以也许我使用了一些错误的语法来编写Domain对象(我正在阅读John Resig关于JavaScript中OOP的一本书)。
#domain是域名的输入字段。
啊。我在剧本中将“dn”改写为“name”,并忘记在那里重写它。现在它工作:) – 2009-11-18 20:55:58
@理查德 - 很高兴有帮助。附:你在阅读哪本Resig书? – 2009-11-18 20:57:40
这一个:http://www.amazon.com/Pro-JavaScript-Techniques-John-Resig/dp/1590597273 – 2009-11-18 21:03:44