将表格提交到表格时如何解决NaN问题?

时间:2020-08-09 20:20:09

标签: javascript arrays function for-loop dom

在此fiddle

当我从表单提交值时,表格中显示NaN,如何解决?

如您所见,我使用构造函数并将所有对象推送到allMovie数组中。并按此顺序回调函数,您可以按照我对它们进行注释的函数来跟踪代码。

        var allMovie = [];
    
        var form1 = document.getElementById('form');
        form1.addEventListener('submit',addfun);
        function addfun(){
        event.preventDefault();
        console.log(event);
    
        new Movie(event.target[0].value, event.target[1].value, event.target[3].value);
    
        clearTable(); //see the function in **//line12**
        render();     //see the function in **//line6**
        set();        //see the function in **//line16**
    }
       clearTable();
       get();         //see the function in **//line17**
       render();
    
        function Movie(MovieName, selectPlatform, monthlyPay){
            this.MovieName11 = MovieName;
            this.selectPlatform11 = selectPlatform;
            this.monthlyPay11 = monthlyPay * 13.99;
            this.randomRate = generateRandomRate(100,10);
            allMovie.push(this);
        }
        
        var tr;
        function render(){ //**line6**
         for (let i = 0; i < allMovie.length; i++) {
            tr = document.createElement('tr');
            tr.setAttribute("class", "mainTR");
            table.appendChild(tr);
        
            var td1 = document.createElement('td');
            td1.textContent = allMovie[i].MovieName11;
            td1.setAttribute("class", "td1");
            tr.appendChild(td1);
            
            var td2 = document.createElement('td');
            td2.textContent = allMovie[i].selectPlatform11;
            td2.setAttribute("class", "td2");
            tr.appendChild(td2);
        
            var td3 = document.createElement('td');
            td3.textContent = allMovie[i].randomRate;
            td3.setAttribute("class", "td3");
            tr.appendChild(td3);
        
            var td4 = document.createElement('td');
            td4.textContent = allMovie[i].monthlyPay11;
            td4.setAttribute("class", "td4");
            tr.appendChild(td4);
        
            td5 = document.createElement('td');
            td5.setAttribute("id", "td5");
            td5.innerHTML = `<button onclick=remove(this.parentElement)> X </button>`
            tr.appendChild(td5);
        }

0 个答案:

没有答案