У меня есть список элементов с тем же именем класса - "fileLink"
Когда я отправляю форму ниже, я хотел бы отправить через AJAX список URL-адресов файлов в файл AJAX (и адрес электронной почты, который вводит пользователь).
Как отправить массив по имени класса в файл ajax?
<ul class = "feeds" id = "filesList">
<li>
<a href = "http://file_folder/3604.jpg" target = "_blank" class = "fileLink">356458.e109abcc152f2536b969b32f6e8439e5</a>
<span class = "text-muted">DOC</span>
</li>
<li>
<a href = "http://file_folder/3605.jpg" target = "_blank" class = "fileLink">357161.e4948db1d64c88b9396647aaa89a7f10</a>
<span class = "text-muted">jpg</span>
</li>
<li>
<a href = "http://file_folder/3606.jpg" target = "_blank" class = "fileLink">357213.e109abcc152f2536b969b32f6e8439e5</a>
<span class = "text-muted">jpg</span>
</li>
<form class = "form-inline m-t-20" action = "#" id = "#emailFile-form">
<a href = "#" type = "submit" class = "btn btn-default" id = "emailFile_btn">SEND</a>
</form>
</ul>






Я думаю, его рабочий пример поможет вам начать: jsfiddle
Во-первых, вам нужно исправить html-код для вашего form:
<!-- not correct: id = "#emailFile-form" -->
<form class = "form-inline m-t-20" action = "#" id = "emailFile-form">
<!-- use input or button to send form, not a -->
<button href = "#" type = "submit" class = "btn btn-default" id = "emailFile_btn">SEND</button>
</form>
Затем вам нужна функция JS, которая прослушивает отправку формы, а затем получает ссылки с указанным именем класса:
// get form element
var form = document.getElementById("emailFile-form");
// form controller
form.onsubmit = function(e){
// stop form from sending
e.preventDefault();
var list = [];
// grab all the links with class .fileLink
var links = document.getElementsByClassName("fileLink");
// put all links in the: list
for (var i=0; i<links.length; i++)
list.push( links[i].href );
// send the list by ajax function
ajaxSend(list);
};
Кроме того, не забывайте, что вам нужно определить функцию, которая выполняет фактическую работу ajax:
function ajaxSend(data) {
/** insert ajax code here **/
alert("links: "+data.join(","));
}
Узнайте об отправке данных через ajax здесь:
или здесь: