#javascript #python #html #django #ajax
#javascript #python #HTML #django #ajax
Вопрос:
В моем html я вставляю код с помощью ajax-запроса, например:
if (document.getElementById("div3").className == "active"){
for (var [name, value] of Object.entries(institutionsByName)){
document.getElementById("institution-checkbox").innerHTML =
'<label name="organization_label">'
'<input type="checkbox" name="organization" value="' value '" id="institution-key"/>'
'<span class="checkbox radio"></span>'
'<span class="description">'
'<div class="title">' name '</div>'
'<div class="subtitle">'
'</div>'
'</span>'
'</label>'
}
}
Затем я пытаюсь получить значение ‘organization’ с помощью представления django, например:
institutions1 = request.POST.get('institution-key')
Однако он возвращает None,
Как я могу получить идентификатор моего учреждения / организации правильным способом в моем представлении django?
В html-коде один из них выглядит как:
<input type="checkbox" name="organization" value="9" id="institution-key">
Комментарии:
1. Можете ли вы попробовать этот запрос. POST[‘организация’]
2. Он также возвращает ‘None’
Ответ №1:
Несколько вещей:
- Если вы вставляете несколько элементов, не используйте один и тот же идентификатор, идентификаторы должны быть уникальными в HTML-документе (это не приводит к каким-либо ошибкам, но вместо этого используйте классы)
- Отправленная форма будет использовать название элементов формы, в этом случае
organization
это будет тот, который вам следует искать, а неinstitution-key
- Если у вас есть возможности для этого, возможно, загляните в библиотеку JS, которая значительно упростит манипулирование HTML.
Комментарии:
1. request.POST.get(‘организация’) также возвращает None
2. Вы проверили
request.POST
, содержит ли оно какие-либо другие значения? Правильно ли JS отправляет форму? Правильно ли размещен ваш элемент ввода в элементе формы?3. На самом деле я проделал какой-то трюк (на мой взгляд) — я создал другой ввод с классом ‘hidden’ и я установил в этот ввод установленный флажок с помощью javascript, тогда мое представление django без проблем принимает значение из этого ввода.