Я пытаюсь преобразовать что-то вроде этого:
firstnameA,lastnameA,emailA
firstnameB,lastnameB,emailB
в переменную js / jquery, которую я затем могу опубликовать в своем скрипте php, чтобы вставить строку за строкой в таблицу.
Пока мне удалось это сделать: он разделяет ввод по новой строке, а затем по запятой, создает таблицу, чтобы пользователю было легко проверять ввод, и в parralel создает массив что я опубликую в своем сценарии для дальнейшего лечения . Вторая часть не работает вообще (сборка стола работает). Я просмотрел множество постов о том, как создавать многомерные массивы в js, но все они требуют, чтобы я знал точные размеры массива. Однако это может быть 1,2 или 50 строк.
Вот мой код:
(function($) {
$(document).ready(function() {
$('#new_coll').submit(function(e) {
e.preventDefault();
if($("#names").val() != "") {
var table = '<table class="table mt-4"><thead><th>First name</th><th>Last name</th><th>Email address</th></thead><tbody>';
var i = 0;
var j = 0;
var data;
$.each($("#names").val().split(/\r?\n/), function(e, elements) {
table = table+'<tr>';
$.each(elements.split(","), function(e, element) {
table = table+'<td>'+element+'</td>';
data[i][j] = element;
j++;
});
var j = 0;
table = table+'</tr>';
i++;
});
table = table+'</tbody></table>';
var posting = $.post("Connections/colleagues_add.php", data);
$('#results').empty().html(table);
posting.done(function( data ) {
$( "#results" ).append( data );
});
}
});
});
})(jQuery);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form method="post" id="new_coll">
<textarea class="form-control" id="names" placeholder="Event description*" rows="3" required>
firstnameA,lastnameA,emailA
firstnameB,lastnameB,emailB
</textarea>
<button type="submit" id="verify" class="btn btn-primary btn-block">Verify</button>
</form>
<div class="col" id="results"></div>
Если вы закомментируете строку 16, она работает с таблицей, однако создание массива не работает. Мой файл, в который он публикуется, это просто дамп $ _POST.
Буду признателен за любые указатели!