Files
hsa/Html/apps/static/js/index.js

54 lines
1.7 KiB
JavaScript

function show_books(courses_data, user_selected_courses) {
console.log(courses_data)
console.log(user_selected_courses)
}
function show_course_details(course_id) {
window.location.href = '/course/' + course_id
}
function on_click_select_course(event) {
event.stopPropagation(); // 阻止事件冒泡
const button = event.currentTarget;
const courseId = button.getAttribute('data-course-id');
if (!courseId) { alert('缺少课程ID'); return; }
if (button.classList.contains("selected-button")) { alert('课程已选择'); return; }
if (button.disabled) { return; }
button.disabled = true;
fetch(`/select_course`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ course_id: courseId })
})
.then(async (response) => {
let data = null;
try {
data = await response.json();
} catch (_) {
}
if (!response.ok) {
throw new Error(data?.message || `请求失败(${response.status})`);
}
return data;
})
.then((data) => {
if (!data?.success) {
throw new Error(data?.message || '选择课程失败');
}
button.classList.remove('select-button');
button.classList.add('selected-button');
button.textContent = '已选课';
alert('选择课程成功');
})
.catch(error => {
console.error('Error:', error);
alert(error?.message || '选择课程失败');
button.disabled = false;
});
}
document.addEventListener('DOMContentLoaded', function () {
});