Динамически создавая строки с помощью Javascript и отправляя их в Flask. Информация не передается - PullRequest
0 голосов
/ 11 сентября 2018

Моя проблема заключается в том, что мои динамически созданные строки (с помощью javascript) не отправляются в мою внутреннюю функцию python.

Я создал скрипт, который создает строку таблицы с 7 столбцами, в каждом столбце есть ввод HTML. Эти входные данные будут использоваться пользователем для ввода информации о продуктах. (серийный номер / номер детали и т. д.)

function Add_row() {
     var tbl = document.getElementById('sct_components_table');
     var iteration = tbl.tBodies[0].rows.length;
     newRow = tbl.tBodies[0].insertRow(-1);
     var newCell = newRow.insertCell(0);
     newCell.classList.add("sct_components_input")
     newCell.innerHTML = '0' + iteration;

     var newCell1 = newRow.insertCell(1);
     newCell1.classList.add("sct_components_input");
     var el = document.createElement('input');
     el.type = 'text';
     el.name = 'quantity';
     el.value = '';
     newCell1.appendChild(el);

     var newCell2 = newRow.insertCell(2);
     newCell2.classList.add("sct_components_input");
     var el2 = document.createElement('input');
     el2.type = 'text';
     el2.name = 'part_number';
     newCell2.appendChild(el2);

     var newCell3 = newRow.insertCell(3);
     newCell3.classList.add("sct_components_input");
     var el3 = document.createElement('input');
     el3.type = 'text';
     el3.name = 'serial_number';
     newCell3.appendChild(el3);

     var newCell4 = newRow.insertCell(4);
     newCell4.classList.add("sct_components_input");
     var el4 = document.createElement('textarea');
     el4.type = 'text';
     el4.name = 'description';
     newCell4.appendChild(el4);

     var newCell5 = newRow.insertCell(5);
     newCell5.classList.add("sct_components_input");
     var el5 = document.createElement('input');
     el5.type = 'text';
     el5.name = 'installed_by_cm';
     newCell5.appendChild(el5);

     var newCell6 = newRow.insertCell(6);
     newCell6.classList.add("sct_components_input");
     var el6 = document.createElement('input');
     el6.type = 'text';
     el6.name = 'installed_after_cm';
     newCell6.appendChild(el6);

     var newCell7 = newRow.insertCell(7);
     newCell7.classList.add("sct_components_input");
     var el7 = document.createElement('textarea');
     el7.type = 'text';
     el7.name = 'notes';
     newCell7.appendChild(el7);
 }

Входные данные собираются с помощью колбы со следующим кодом

temp_multi_quantity = request.form.getlist('quantity')
temp_multi_part_number = request.form.getlist('part_number')
temp_multi_serial_number = request.form.getlist('serial_number')
temp_multi_description = request.form.getlist('description')
temp_multi_installed_by_cm = request.form.getlist('installed_by_cm')
temp_multi_installed_after_cm = request.form.getlist('installed_after_cm')
temp_multi_notes = request.form.getlist('notes')

Если я вручную создаю строки таблицы на HTML-странице, они успешно загружены. Это только «Javascript Rows», которые игнорируются.

Этот код имитирует пример, найденный по адресу: http://www.mredkj.com/tutorials/tablebasics5.html Этот пример старый и использует php, а не python, поэтому я мог запутаться, но я использовал wireshark на странице, и он, похоже, отправлялся.

Если бы кто-нибудь мог пролить некоторый свет на то, какую концепцию я неправильно понял / ошибку, которую я совершил, это было бы оценено.

...