Ошибка находится в /js/varien/js.js
, строка 438.
var error = false, day = parseInt(this.day.value) || 0, month = parseInt(this.month.value) || 0, year = parseInt(this.year.value) || 0;
Очевидно, что varien упал для все тоже хорошо известно parseInt Ошибка / Функция.
Короче говоря, до ES5 все строки, начинающиеся с 0
, обрабатываются как число восьмеричное / основание-8 . Поскольку 08
не существует в base-8, parseInt
-ing оценивается как 0
.
parseInt()
получает второй необязательный аргумент, указывающий базу, которую он должен использовать для интерпретации.
parseInt('8'); // => 8
parseInt('08'); // => 0
parseInt('08', 10); // => 8
Итак, решение вашей проблемы состоит в том, чтобы исправить строку, упомянутую выше, чтобы прочитать
var error = false, day = parseInt(this.day.value, 10) || 0, month = parseInt(this.month.value, 10) || 0, year = parseInt(this.year.value, 10) || 0;
Ура!