Input does not assign value

1

I have a function in javascript that creates a row in a table, in the row to enter I have a column of type input and when assigning a value to that input does not work anymore if I change the type by label if the value is assigned

The code of my function is as follows:

        var table = document.getElementById("tabProd");
        var row = document.createElement("tr");
        row.addEventListener('click',pressfila,true);
        var columna1=document.createElement("td");
        var celda1 = document.createElement("label");
        var columna2=document.createElement("td");
        var celda2 = document.createElement("label");
        var columna3=document.createElement("td");
        var celda3 = document.createElement("input");
        var columna4=document.createElement("td");
        var celda4 = document.createElement("label");
        var columna5=document.createElement("td");
        var celda5 = document.createElement("label");

        //var celda6 = row.insertCell(5);
        var boton=document.createElement("button");
        boton.textContent="Eliminar";
        //celda6.appendChild(boton);
        celda1.innerHTML = document.getElementById("prod_cod").value;
        celda2.innerHTML = document.getElementById("prod_nom").value;
        celda3.innerHTML = document.getElementById("cant").value;
        celda4.innerHTML = document.getElementById("costoUnitario").value;
        var valunit=document.getElementById("costoUnitario").value*document.getElementById("cant").value;
        valorTotal=valorTotal+valunit;
        var valunitdecimal=valunit.toFixed(2);
        celda5.innerHTML = valunitdecimal.toString();
        columna1.appendChild(celda1);
        columna2.appendChild(celda2);
        columna3.appendChild(celda3);
        columna4.appendChild(celda4);
        columna5.appendChild(celda5);

        row.appendChild(columna1);
        row.appendChild(columna2);
        row.appendChild(columna3);
        row.appendChild(columna4);
        row.appendChild(columna5);

        table.appendChild(row);
    
asked by Leo T 28.11.2017 в 23:26
source

2 answers

3

For input we use value instead of innerHTML , it would be like this

celda3.value= document.getElementById("cant").value;

seeing that cell 3 is your input

    
answered by 28.11.2017 в 23:29
2

It's because at input you can not add the value with innerHTML , you must use value (the same method with which you capture its value), so you should change this:

celda3.innerHTML = document.getElementById("cant").value;

Because of this:

celda3.value = document.getElementById("cant").value;
    
answered by 28.11.2017 в 23:29