Я создаю форму «Зарегистрироваться» для своего нового веб-сайта, но у вас возникла проблема с функцией jQuery/JS, которая должна проверять наличие каких-либо условий достиг.Получение ошибки «this.is is not a function»
$(function checkform() {
if (this.is("#username")) {
var validchars = /^[a-zA-Z0-9\s]+$/;
var nameHasError;
if (this.val().length < 6 && this.val().length > 26) {
nameHasError = true;
this.parent("div").addClass("has-error");
} else if (!(validchars.test(this).val())) {
nameHasError = true;
this.parent("div").addClass("has-error");
} else {
nameHasError = false;
this.parent("div").removeClass("has-error");
};
} else if (this.is("#password")) {
var passHasError;
if (this.val().length < 5 && this.val().length > 45) {
passHasError = true;
this.parent("div").addClass("has-error");
} else {
passHasError = false;
this.parent("div").removeClass("has-error");
};
};
});
Вот JSFiddle с HTML-части (я использую самозагрузки на моем сайте, но предпочел установить определенный класс на скрипке)
наилучшими пожеланиями
В вашем коде 'this' ссылается на' document', который не имеет метода 'is', также' checkForm' является локальным для закрытия (dom ready), поэтому keypress выдает ошибку, например '(index): 89 Uncaught ReferenceError: checkform не определен' –
Почему имеют 2 разных метода для проверки обоих входов и использования jQuery для регистрации обработчиков событий –
Я предполагаю, что проблема 'this' решена, но все еще есть проблема, которую я не понимаю с моей функцией, так как она« неопределенная » Обновленная скрипка [здесь] (https://jsfiddle.net/fjz8r69s/8 /) –