2017-10-07 8 views
0

Je crée une zone de texte pour l'éditer dans une table. Toutefois, s'il y a des espaces dans la valeur de la cellule de tableau, elle apparaît dans la zone de texte sous la forme de caractères uniquement jusqu'au premier espace rencontré. À partir du débogage, cellsContent [i] .innerText a la valeur correcte, mais editableTaskCells [i] .firstChild.value ne l'est pas.Troncature de InnerText à 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)' />"; 
    } 

Répondre

0

Nevermind. Des citations oubliées autour de la valeur dans l'instruction input. Erreur stupide. Il devrait être

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