This is what I am trying to do: I have a table created from Javascript with user input in each cell. This table is intended only to confirm the correctness of the data entered by the user. If the user sees an error, they click on the cell that needs to be edited and places the text field in the table cell with the current cell data. Then the user will be able to submit the changes or discard the changes if they clicked on the wrong cell. I currently have:
<table id = "confirm"> <tr><th>Firstname</th><td id = "txtFirstname" onclick = "update(this.id)">Adan</td></tr> <tr><th>Lastname</th><td>Smith</td></tr> <tr><th>Username</th><td>ASmith</td></tr> <tr><th>Email</th><td> abc@123.com </td></tr> <tr><th>Phone</th><td>123-456-7890</td></tr> </table> <script type = "text/javascript"> function update(id){ //Get contents off cell clicked var content = document.getElementById(id).firstChild.nodeValue; //Switch to text input field document.getElementById(id).innerHTML = "<input type = 'text' name = 'txtNewInput' id = 'txtNewInput' value = '" + content + "'/>"; } </script>
This is what my current code does: when a user clicks on a cell, he replaces it with the current text inside the text box, which is fine, but when you try to edit the text, he calls the function again, replacing the text with "zero". Please help me figure this out!
Vince source share