2017-10-07 4 views
0

Ich erstelle ein Textfeld zum Bearbeiten innerhalb einer Tabelle. Wenn der Wert der Tabellenzelle jedoch Leerzeichen enthält, wird er in der Textbox nur als Zeichen bis zum ersten Leerzeichen angezeigt. Beim Debugging hat cellsContent [i] .innerText den korrekten Wert, editableTaskCells [i] .firstChild.value jedoch nicht.Trunkierung von InnerText bei Whiteshpace

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)' />"; 
    } 

Antwort

0

Unerklärbar. Zitate um den Wert in der Eingabeanweisung wurden vergessen. Dummer Fehler. Es sollte

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