在此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);
}