2017-10-07 52 views
0

我正在创建一个用于在表格中进行编辑的文本框。但是,如果表格单元格的值中有空白,它将显示在文本框中,因为只有遇到第一个空白的字符。从调试开始,cellsContent [i] .innerText具有正确的值,但editableTaskCells [i] .firstChild.value没有。Whiteshpace中的InnerText的截断

function editTask(row) { 
     // make array of current contents of cells 
     var cellsContent = 
     document.getElementById("taskTable").rows[row].cells; 
     // delete row 
     document.getElementById("taskTable").deleteRow(row); 
     // make new row 
     var newRow = document.getElementById("taskTable").insertRow(row); 
     // make an array for editable cells of new row 
     var editableTaskCells = []; 
     // fill contents of new row with editable contents of deleted row 
     for (var i = 0; i < 7; i++) { 
      editableTaskCells[i] = newRow.insertCell(i); 
      if (i < 5) { 
       editableTaskCells[i].innerHTML = "<input type='text' 
          size='10' value= " + cellsContent[i].innerText + "></input>"; 
       documnet.writeln(cellsContent[i].innerText; 
       document.writeln(editableTaskCells[i].firstChild.value); // for debugging purposes 
      } 
     } 

     // add edit and remove buttons 
     editableTaskCells[5].innerHTML = "<input type='button' class='btn btn-success' id='editButton' value='Save Edit' onclick='saveEditedTask(this.parentNode.parentNode.rowIndex)'/>"; 
     editableTaskCells[6].innerHTML = "<input type='button' class='btn btn-danger' id='removeButton' value='REMOVE' onclick='removeTask(this.parentNode.parentNode.rowIndex)' />"; 
    } 

回答

0

没关系。忘记输入语句中值的引号。愚蠢的错误。它应该是

editableTaskCells[i].innerHTML = '<input type="text" size="10" value= "' + 
cellsContent[i].innerText + '"></input>';