У меня есть html-страница, которая содержит таблицу, несколько строк и внутри любой строки я отмечен флажком.
Когда я устанавливаю флажок, я буду удалять сообщение, НО только тогда, когда я нажимаю красную кнопку смерти.
* ** 1003 тысяча два * Пример
таблица
тр (unique_id)
тд [флажок]
содержание td
Другое содержание
[... и так далее]
/ Таблица
[Красная кнопка-из-смерти]
Теперь удаление нескольких строк должно происходить без перезагрузки страницы, поэтому я настроил функцию ajax, которая работает следующим образом:
- настроить объект ajax.
- установить метод open (post / get, url, true) ...
- дождитесь ответа страницы "URL" .... возьмите кофе, сделайте перерыв.
- получил ответ, с помощью jquery удалите строку, используя уникальный идентификатор строк.
- jquery: выскакивает отзыв о только что выполненном действии
- jquery: обновить счетчик на странице
Итак, я начинаю пытаться удалить одну запись, и все идет хорошо, я создал ссылку на каждую строку, которая вызывает функцию для удаления "одной записи", передавая идентификатор элемента.
Но теперь мне нужно разработать multi-delete-of-doom.
Первое, что я подумал, было: «Я могу обернуть таблицу в« форму »и отправить все с помощью метода« post »».
Это кажется блестящим и легким ....
но не работает: - |
Погугливая, я нашел какой-то пример, который, кажется, предлагает установить переменную, содержащую элемент для отправки ... поэтому, пытаясь следовать этому пути, мне нужен метод, чтобы получить имя / идентификатор / значение важно, я могу заполнить атрибут с правильным идентификатором) выбранного флажка.
Здесь функция, которая делает вызов ajax и все остальное
function deleteSelected() {
var params = null;
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("post", "./cv_delete_pm.php?mode=multi", true); //cancella i messaggi e ritorna l'id delle righe da cancellare
//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status != 404) {
var local = eval( "(" + xmlhttp.responseText + ")" );
/*
//cancella gli elementi specificati dalla response
var Node = document.getElementById(local.id);
Node.parentNode.removeChild(Node);
loadMessagesCount('{CUR_FOLDER_NAME}'); //aggiorna sidebar e totale messaggi nel body
initTabelleTestate(); //ricrea lo sfondo delle righe
$("#msgsDeleted").attr("style", "left: 600px; top: 425px; display: block;");
$("#msgsDeleted").fadeIn(500);
$("#msgsDeleted").fadeOut(2000);
$("#msgsDeleted").hide(0);
*/
}
}
};
xmlhttp.send(params);
}
На самом деле переменная 'param' установлена в ноль только потому, что я делаю некоторые эксперименты.
Итак, вопросы
являются:
- Можно ли сделать ajax-запрос, отправив содержимое формы? Как?
- Можно ли получить имя / значение / идентификатор (один из них) всех выбранных флажков HTML-страницы? Как?
Ответ на один из этих двух вопросов с решением достаточно, чтобы выиграть мое личное поклонение:)