let inn = document.getElementById("inn").value;
if (inn.length < 5) {
alert("ИНН должен быть 5 символов");
return;
}
document.getElementById("inn").readOnly = true;
if (inn !== "") {
let value_cookie = document.cookie.split("; ");
let arrcook = value_cookie.filter((element, inn) => element.includes(inn + "="));
if (arrcook.length > 0) {
let pozic = arrcook[0].indexOf(inn + "=");
let obiekt = JSON.stringify(arrcook[0].slice(pozic));
}
Вам split() надо делать, думается, не по разделителю "; ", а по “;”. Т.е., пробел разве нужен? Кроме того, следующая строка вашего кода делает полный бред. Метод filter работает вот так:
let results = arr.filter(function(item, index, array) {
// если true - элемент добавляется к результату, и перебор продолжается
// возвращается пустой массив в случае, если ничего не найдено
});
, а ваш код сделает вот что:
let arrcook = value_cookie.filter((element, '55555') => element.includes('55555' + "="));
Надо бы фильтровать как-то так:
let arrcook = value_cookie.filter( element => element.includes("=" + inn) );
Я так тоже писал. По всякому. Какая разница, если inn = undefinde
У меня код не работает, т.к. inn = undefinde
Как только заходи в if (inn != “”) {
inn становится undefinde
Очень возможно что переменная на самом деле не обнуляется а наблюдаемое значение это проблема средств разработки.
Еще возможно что на переменную влияет код, описанный ниже, например еще один let inn или var inn или обращение к inn без объявления в какой-нить вызываемой ниже функции.
Что делать.
Проверь чему равно значение когда значение выводится через консоль лог (так же как и в моем коде где я пробовал воспроизвести проблему).
//...
if (inn !== "") {
console.log("inn:", inn)
let value_cookie = document.cookie.split("; ");
//...
Ради того чтобы отсечь совсем странный вариант что инпуты с id пораждают глобальные переменные, поменяй id инпута на что-то отличное от inn.
Поищи есть ли во всем коде еще где-то работа с этой переменной (объявление через let или var, использование без объявления).
Если ничего не помогло попробуй поменять код по ссылке что я скинул чтобы была возможность воспроизвести поведение не только в твоем браузере.