CyberExam-django/templates/create.html
2024-07-11 15:46:31 +08:00

80 lines
3.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends 'base.html' %}
{% block tittle %}登陆{% endblock tittle %}
{% block body %}
<h1>创建题目</h1>
<form id="loginForm" onsubmit="event.preventDefault(); submitForm();" enctype="multipart/form-data">
{% csrf_token %}
<label for="text">题目文本:</label>
<input type="text" id="text" name="text" required><br>
<input type="file" name="image" id="image" accept="image/jpg" onchange="imgChange(this);"> <!--文件上传选择按钮-->
<img id="image-preview" width="50%" src=""/><br>
<label for="A">A选项:</label>
<input type="text" id="A" name="a" required><br>
<label for="B">B选项:</label>
<input type="text" id="B" name="b" required><br>
<label for="C">C选项:</label>
<input type="text" id="C" name="c" required><br>
<label for="D">D选项:</label>
<input type="text" id="D" name="d" required><br>
<label>答案:</label><br>
<input type="radio" id="A" name="answer" value="A" checked>
<label for="A">A</label><br>
<input type="radio" id="B" name="answer" value="B">
<label for="B">B</label><br>
<input type="radio" id="C" name="answer" value="C">
<label for="C">C</label><br>
<input type="radio" id="D" name="answer" value="D">
<label for="D">D</label><br>
<button type="submit">提交题目</button>
</form>
<!-- 错误信息显示区域 -->
<div id="errorMessage" style="display: none;"></div>
{% endblock body %}
{% block script %}
<script>
function imgChange(obj) {
var file = document.getElementById("image");
var imgUrl = window.URL.createObjectURL(file.files[0]);
var img = document.getElementById('image-preview');
img.setAttribute('src', imgUrl); // 修改img标签src属性值
};
function submitForm() {
var formData = new FormData($('#loginForm')[0]);
$.ajax({
url: "{% url 'exam:create' %}", // Django模板标签用于生成URL
type: "POST",
data: formData,
contentType: false, // 告诉jQuery不要设置Content-Type请求头
processData: false, // 告诉jQuery不要处理发送的数据
success: function(response) {
if (response.code === 200) {
alert(response.message); // 成功时的消息框
} else {
alert(response.message); // 显示错误信息
displayErrors(response.data);
}
},
error: function() {
alert("An error occurred while processing your request.");
}
});
}
function displayErrors(errors) {
$('#errorMessage').html('');
for (let key in errors) {
if (errors.hasOwnProperty(key)) {
let message = errors[key];
$('#errorMessage').append('<p>' + message + '</p>');
}
}
$('#errorMessage').show();
}
</script>
{% endblock script %}