Редактирование ячеек таблицы с сохранением в бд
имеется динамическая таблица значения которой выводятся из Базы Данных и имеется обработчик, который при нажатии на ячейку позволяет редактировать и сохранять в Базе Данных, проблема в том, что при двойном клике не ячейка не редактируется, что может быть не так?
Вывод таблицы
<table class="tableEnd" id="loading">
<thead>
<tr>
<?php
for ($tr = 1; $tr <= $_SESSION['account']['columns']; $tr++) {
foreach ($temp as $val) {
$a = '<th class="tableEnd-item">test</th>';
}
echo $a;
}
?>
</tr>
</thead>
<tbody>
<?php
for ($tr = 1; $tr <= $_SESSION['account']['rows']; $tr++) {
echo '<tr>';
for ($td = 1; $td <= $_SESSION['account']['columns']; $td++) {
$value = '<div><p>⁣</p><span></span> <p class="tableLast-main__td__access">⁣</p>';
foreach ($temp as $val) {
$temperature = round((($val['chain0_temp'] + $val['chain0_temp'] + $val['chain0_temp']) / 3));
$hashrate = $val['hashrate'] / 1000000;
if ($tr == (int)$val['x'] and $td == (int)$val['y']) {
$value = '<div><p>' .$hashrate. '</p><span></span><p class="tableLast-main__td__access">' .$temperature. '</p>';
}
}
echo "<td class='tableEnd-item'>$value</td>";
}
echo '</tr>';
}
?>
</tbody>
</table>
Обработчик
<script>
const send = (e) => {
if ((e.type === 'blur' && e.target.contentEditable === 'true') || e.which === 13) {
e.preventDefault();
e.target.contentEditable = false;
const xhr = new XMLHttpRequest();
xhr.open("POST", '/miners/table', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(`text=${encodeURIComponent(e.target.textContent)}`);
}
};
[...document.querySelectorAll('td')].forEach(el => {
el.addEventListener('dblclick', e => {
e.target.contentEditable = true;
e.target.focus();
});
el.addEventListener('keypress', send);
el.addEventListener('blur', send);
});
</script>