Вы ищете атрибут данных в кнопке загрузки, а не в поле ввода, где он фактически присутствует.
Добавьте класс / идентификатор в поле ввода, чтобы его можно было найти.
При нажатии на кнопку найдите ближайшую форму, а затем найдите поле ввода, содержащее идентификатор файла, и извлеките из него идентификатор файла.
<td>
<form id="Form" action="./downloaddoc" method="GET">
<input type="hidden" name="p" value="download"/>
<!-- Added a class to the input field -->
<input type="hidden" name="field" class="input-download-file" data-id="{{file_id}}"/>
<input class="button download_button" type="submit" value="Download">
</form>
</td>
Javascript:
$(document).on('click', '.download_button', download_doc);
function download_doc(event) {
event.preventDefault();
// Find the closest form
var form = $(this).closest('form');
// Find the input field which constains the download file id
var input = $(form).find(".input-download-file");
// Get the file id
var id = $(input).data('id');
console.log(id);
window.location.href = window.location.href + '?p=download&id=' + fileid;
}