Я пытаюсь автоматическое обновление ячейки таблицы на основе изменений в другой ячейке таблицы. Пользователь имеет имя, фамилию и имя пользователя. Имя пользователя состоит из первого начального + последнего. Мой текущий код:Ячейка таблицы автоматического обновления на основе ввода пользователем в Javascript
<html>
<head>
<script type = "text/javascript">
function updateUsername(){
var firstname = document.getElementById("tdFirstname").firstChild.firstChild.nodeValue;
var lastname = document.getElementById("tdLastname").firstChild.firstChild.nodeValue;
var username = document.getElementById("tdUsername").innerHTML = firstname + lastname;
}
</script>
</head>
<body>
<table id = 'confirm'>
<tr>
<th>Firstname</th>
<td id = 'tdFirstname'>
<div onkeypress = 'updateUsername()' contentEditable>
Johnny
</div>
</td>
</tr>
<tr>
<th>Lastname</th>
<td id = 'tdLastname'>
<div onkeypress = 'updateUsername()' contentEditable>
Sppleseed
</div>
</td>
</tr>
<tr>
<th>Username</th>
<td id = 'tdUsername'>
JSPPLESEED
</td>
</tr>
</table>
</body>
</html>
код работает (только помещая имя и фамилию вместе, не worred о первой начально пока), но одна буква позади. Он не обновляется после ввода нового символа, то есть, если я обновляю lastname до Appleseed (как и должно быть), просто изменение одной буквы не имеет эффекта (имя пользователя остается Sppleseed), но при нажатии второго ключа оно будет перейдем к Appleseed. Это что-то не так с моим кодом? или я пропустил что-то, что мне нужно было бы обновить после ввода/удаления нового символа. Это очень расстраивает.
Гениальный! Прекрасно работает! – Vince