В вашей реализации AutoLength
есть ошибки.В настоящее время это выглядит так:
function AutoLength(_isbn) {
if (_isbn.length == 13) {
return true; { // <------ incorrect brace
else {
if (_isbn.length == 10) {
return true; { // <------ incorrect brace
else {
alert("You have not entered a valid ISBN10 or ISBN13. Please correct and try again.");
return false;
}
}
Посмотрите, как он не закрывает все свои блоки?Это потому, что вы использовали неправильную скобку в двух местах, и вы забыли закрыть функцию.
Вы можете переписать функцию следующим образом:
function AutoLength(_isbn) {
return _isbn.length === 13 || _isbn.length === 10;
}
Если выодержимый использованием alert
, вы можете сделать это внутри validateForm
(хотя я постараюсь найти более удобный способ показать сообщение об ошибке).
В будущем, когда вы 'пытаясь отладить код, вы можете использовать try
и catch
, чтобы «поймать» Errors
, как они происходят, например:
try {
if (false === AutoLength(_isbn)) {
return false;
}
} catch (e) {
alert('AutoLength threw an error: '+e.message);
}