Если после каждого клика появляются новые текстовые поля, ваш код не заботится о случае: если в ячейке уже есть текстовое поле ввода, не продолжайте вводить дополнительный HTML-код для текстового поля ввода, когда пользователь нажимаетв ячейке.
Одним из способов предотвратить это может быть присвоение классу ячейки таблицы имени класса, например "editable", в конце вашей функции changeContent.Тогда вы можете иметь код в той же функции, который будет помещен в HTML-код только для поля ввода, если tablecell.className не «редактируемый».
Запомните в функции submitNewName, чтобы также удалить «редактируемое» имя класса для ячейки после того, как пользователь завершит редактирование.