У меня есть список флажков в таблице в приложении Django. Пользователь выбирает некоторые из них, а затем нажимает кнопку действия. Затем появляется небольшая всплывающая модальная форма, где они заполняют информацию, связанную с выбранными элементами, и они также могут загружать файл во всплывающем окне. Мне нужно отправить идентификаторы выбранных флажков и поля формы в модальном формате на Django с помощью ajaxОтправка списка флажков через Ajax в Django
Я обернул модальный код в теге формы и все работает хорошо. Я пытаюсь отправить список выбранных идентификаторов в Django. Когда пользователь выбирает id 31 и 32, он отправляет его как «31, 32» в виде строки, а Django не может его декодировать. Я уверен, что это быстрое решение, но мои знания javascript ограничены.
Ниже мой код:
Html:
<tr>
<td ><input class="selection-box" type="checkbox" name="action" value="{{ item.id }}"></td>
<td>...</td>
</tr>
<tr>
<td ><input class="selection-box" type="checkbox" name="action" value="{{ item.id }}"></td>
<td>...</td>
</tr>
Javascript:
submitHandler: function() {
var matches = [];
$(".selection-box:checked").each(function() {
matches.push(this.value);
});
var form = document.forms.namedItem("fileinfo");// This is the popup form that contains that file upload box and other fields
var oData = new FormData(form);
if (matches.length) {
oData.append('action', matches);
}
$.ajax({
url: url,
processData: false,
contentType: false,
type: 'post',
data: oData,
success: function (data) {
if (data.success == true) {
location.reload();
}
}
});
}
Джанго вид:
# This generates the error: ValueError: invalid literal for int() with base 10: '33,31'
selected_list = self.request.POST.getlist('action')
print selected_list ?? – Mahi
Я не могу напечатать его, потому что он генерирует ValueError – Johan
http://stackoverflow.com/a/5867262/3762142 помогает ... –