Мой массив не принимает никаких данных, только один и все, и я не понимаю, почему? - PullRequest
0 голосов
/ 26 апреля 2020

Итак, я пытаюсь добавить «livres» в мой массив «li», каждый раз, когда я проверяю длину «li», он всегда показывает 1, даже когда я ввожу более одного, я вызываю эту функцию в кнопке в моем индексе. html. Я не могу продолжать свою работу из-за этого, я показал моей учительнице проблему, и у нее нет решения для меня ... Я не знаю, что делать! Вот код:

var li = new Array();
function enregistrer()
{
    var code = Number(document.getElementById('code1').value);
    var titre = String(document.getElementById('titre1').value);
    var auteur = String(document.getElementById('auteur1').value);
    var l = new livre(code, titre, auteur);
    li.push(l);
    alert(li.length);
}

1 Ответ

0 голосов
/ 26 апреля 2020

Кажется, вы используете форму для вставки данных в массив. Когда вы помещаете любую кнопку в форму, она будет действовать как кнопка отправки для этой формы, это означает, что страница перезагрузится, если вы не указали action="external file" в качестве атрибута формы.

Кроме этого, я переписал ваш код для облегчения отладки, а также создал псевдоним объекта 'livres'.

function livre(a, b, c){
    this.val1 = a;
    this.val2 = b;
    this.val3 = c;
}
var li = new Array();
function enregistrer()
{
    var code = Number(3);
    var titre = String('thishere');
    var auteur = String('another');
    var l = new livre(code, titre, auteur);
    for(var i = 0; i < 5; i++){
        li.push(l);
    }
    console.log(li.length);
}
enregistrer();

Когда вы вызываете эту функцию, она добавляет l, который является просто 1 экземпляром объекта livres в массиве li ... и вывод "1"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...