Я знаю, что это задавали несколько раз, но ни один из ответов, похоже, мне не помогает.
Я уже почти два дня пытаюсь обойти это, но я не смог понять, что происходит.
У меня есть следующий код:
alert('Before document.ready');
$(document).ready(function() {
alert('Actual document.ready');
addNumberValidation($("#quantity"), $("#quantityError"));
addNumberValidation($("#price"), $("#priceError"));
$("#form").submit(function(){
var quantityValid = validar($("#quantity"), $("#quantityError"));
var priceValid= validar($("#price"), $("#priceError"));
var formValid = quantityValid && priceValid;
return formValid ;
});
});
function addNumberValidation(mainElement, errorElement) {
mainElement.keyup(function() {
validate($(this), errorElement);
});
}
function validate(mainElement, errorElement) {
var regex = /^[0-9]+$/;
var result = false;
if (mainElement.val().match(regex)) {
errorElement.text('');
result = true;
} else {
errorElement.text('Must be a number');
result = true;
}
return result;
}
Скрипт становится загружен правильно, потому что «Перед document.ready» предупреждение вызывался правильно. Кроме того, jQuery также загружается, потому что другой js-код выполняется правильно.
Моя консоль не показывает никаких ошибок, и скрипт под вкладкой источников в Chrome завершен.
Я зарегистрировал функции, чтобы увидеть, было ли что-то не так с этим, и это все еще не сработало.
Любое понимание того, что может происходить?
Попробуйте переместить 2 функции в документе document.ready ... – JBA
Предположительно, доказательство того, что обработчик «ready» не вызывается, заключается в том, что 'alert()' не происходит. Если это так, не имеет значения, где находятся две другие функции. – Pointy
Где функция 'validar()'? – Pointy