Подчинение формы колбы: class_id является «неопределенным» при создании экзаменаJavascript

Форум по Javascript
Ответить
Anonymous
 Подчинение формы колбы: class_id является «неопределенным» при создании экзамена

Сообщение Anonymous »

Я разрабатываю приложение для школьного узла на основе колбы, где учителя могут создавать экзамены. Тем не менее, я сталкиваюсь с проблемой, где class_id < /code> является «неопределенным» < /code> при отправке формы. < /P>

Проблема :
Когда я отправляю форму, Flask ведет журнал следующее:

Код: Выделить всё

DEBUG - Raw Form Data: {'title': '1', 'class_id': 'undefined', 'description': '1'}
ERROR - Validation failed: Invalid or missing class_id
, хотя class_id существует в моей форме и динамически устанавливается из бэкэнд (jinja) или извлекается через Javascript, он все еще выглядит как «неопределенное» в FLASH

Код: Выделить всё

create_exam
)

Код: Выделить всё

@main.route('/create_exam', methods=['POST'])
@login_required
def create_exam():
if current_user.role != 'teacher':
return jsonify({'error': 'Unauthorized'}), 403

logger.debug(f"Raw Form Data: {dict(request.form)}")

title = request.form.get('title')
class_id = request.form.get('class_id')
description = request.form.get('description')

logger.debug(f"Received Exam Data - Title: {title}, Class ID: {class_id}, Description: {description}")

if not class_id or class_id.strip().lower() in ["undefined", "null", "none", ""]:
logger.error(f"Validation failed: Invalid or missing class_id.  Received: {class_id}")
return jsonify({'error': 'A valid class ID is required'}), 400

try:
class_id = int(class_id)
except ValueError:
return jsonify({'error': 'Class ID must be a valid number'}), 400

class_entry = Class.query.get(class_id)
if not class_entry:
return jsonify({'error': 'Invalid class or unauthorized access'}), 403

try:
exam = Exam(title=title, class_id=class_id, description=description, teacher_id=current_user.id)
db.session.add(exam)
db.session.commit()
return jsonify({'message': 'Exam created successfully'}), 201
except Exception as e:
db.session.rollback()
return jsonify({'error': 'Failed to create exam'}), 500
< /code>

 [b] html form < /strong> < /h3>


Exam Title


Select Class

{% if class_codes %}
Select a class
{% for class_code in class_codes %}
{{ class_code.code }}
{% endfor %}
{% else %}
No class codes available
{% endif %}


Create Exam

< /code>

  javascript (извлечение кодов классов и подчинения отладки) < /strong> < /h3>
document.addEventListener("DOMContentLoaded", function () {
const classSelect = document.getElementById("class_id");

fetch("/get_class_codes")
.then(response => response.json())
.then(data => {
console.log("[DEBUG] Received class codes:", data);

if (classSelect.options.length 

Подробнее здесь: [url]https://stackoverflow.com/questions/79464612/flask-form-submission-class-id-is-undefined-when-creating-an-exam[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»