Я написал скрипт PHP, который проверяет, доступен ли домен для регистрации.
Для автоматизации процесса я также написал 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;
});
});
Как видите, я создал объект с именем Домен, который представляет собой доменное имя. У объекта есть только один метод (помимо конструктора), который отправляет запрос AJAX в скрипт PHP (который возвращает json).
Проблема в том, что метод Domain.prototype.check () не работает (у меня нет окна предупреждения), и я не знаю, в чем проблема. Когда я размещаю вызов AJAX вне метода, он работает, так что это не проблема.
Я новичок в ООП, поэтому, возможно, я использовал какой-то неправильный синтаксис для написания объекта Domain (сейчас я читаю книгу Джона Резига об ООП в JavaScript).
#domain - это поле ввода для доменных имен.