<script>
function edit_column(element, columnId) {
// 获取当前行的文档名称单元格
const currentRow = element.closest('tr');
const nameCell = currentRow.querySelector('td:nth-child(2)');
// 获取当前文档名称
const currentName = nameCell.textContent;
// 弹出 Prompt 对话框,获取新的文档名称
const newName = prompt('请输入新的栏目名称:', currentName);
// 如果用户点击了确定并输入了新名称,更新表格中的文档名称
if (newName !== null && newName.trim() !== '') {
const trimmedName = newName.trim();
// 发送 AJAX 请求更新数据库,在fetch后支出了提交的url,由该url确定由那个view函数处理提交
fetch(`/article/update-column/`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRFToken': getCookie('csrftoken') // Django 的 CSRF token
},
body: JSON.stringify({
current_name: currentName,
new_name: trimmedName
}) //发送到后台的是一个字典,键current_name值是column的旧名称,键new_name值是column的新名称
}).then(response => {
if (response.ok) {
// 更新成功,更新表格中的文档名称
nameCell.textContent = trimmedName;
alert('栏目名称更新成功');
} else {
// 更新失败,处理错误
alert('更新失败,请重试');
}
}).catch(error => {
console.error('Error:', error);
alert('更新失败,请重试');
});
}
}
function del_column(element, columnId) {
// 实现删除功能的逻辑
console.log('删除栏目 ID:', columnId);
}
// 获取 CSRF token 的函数(Django)
function getCookie(name) {
let cookieValue = null;
if (document.cookie && document.cookie !== '') {
const cookies = document.cookie.split(';');
for (let i = 0; i < cookies.length; i++) {
const cookie = cookies[i].trim();
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
</script>
|