Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 03.01.2018, 19:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от mazahaler
Кликаю на кнопку - > перебираю все документы с классом "doctext2" -> Кликаю на кнопку "Удалить".
Даже комментировать не понятно как на такое. Что такое форма вам известно?
Ответить с цитированием
  #12 (permalink)  
Старый 03.01.2018, 19:39
Аспирант
Отправить личное сообщение для mazahaler Посмотреть профиль Найти все сообщения от mazahaler
 
Регистрация: 20.11.2017
Сообщений: 72

laimas, известно.
Ответить с цитированием
  #13 (permalink)  
Старый 03.01.2018, 19:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А коли известно, то к чему выдумывать "кошмарики"?
Ответить с цитированием
  #14 (permalink)  
Старый 03.01.2018, 19:49
Аспирант
Отправить личное сообщение для mazahaler Посмотреть профиль Найти все сообщения от mazahaler
 
Регистрация: 20.11.2017
Сообщений: 72

laimas,
просто хотелось бы сделать сие действие без перезагрузки страницы.
Ответить с цитированием
  #15 (permalink)  
Старый 03.01.2018, 20:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от mazahaler
просто хотелось бы сделать сие действие без перезагрузки страницы.
А проблема не в Ajax, а ваших действиях, и это кошмар. А форма не является "спецификой исключительно не Ajax запросов".

Пусть вы запрашиваете для редактирования в базе три записи. Для простоты пусть это будет правка заголовков, а также можно удалять записи.

При этом можно выполнить операции сразу для всех строк - групповое редактирование (выбор в форме и ее отправка), а можно производить индивидуальное редактирование каждой записи, отправляя запрос для каждой записи отдельно.

Как при этом будет происходить обмен с сервером не важно. При групповом редактировании можно поступить так:

<form>
    <input name="title[15]" /> <input type="checkbox" name="del[]" value="15" />
    <input name="title[35]" /> <input type="checkbox" name="del[]" value="35" />
    <input name="title[75]" /> <input type="checkbox" name="del[]" value="75" />
    <button>Обновить</button>
</form>


где числа, это уникальные идентификаторы записей в БД. Изменив значения полей title или выбрав флажок для удаления записи, отправляем форму, которая имеет обработчик события onsubmit:

$('form').submit(function(e) {
        e.preventDefault();
        $.ajax({
            //....
            data: $(this).serialize(), //данные формы
            //....
        })
    })


Сервер получая запрос проверяет есть ли записи для удаления/обновления и производит операции:

if($del = array_diff(array_map('intval', $_POST['del']), [0])) {
    $_POST['title'] = array_diff_key($_POST['title'], array_flip($del)); //убрать из полей формы записи для удаления
    //удаляем записи для WHERE id IN(implode(',', $del))
}
if($_POST['title']) { //есть ли записи для обновления
    //обновление    
}
//возврат клиенту результата запроса


Ответом может быть запрос в базу, если были обновления, что и будет отражено на клиенте, то есть состояние БД после запроса.

То что у вас в событии перебор и куча событий наряду с выбором...

Индивидуальный подход, это всего лишь отдельный запрос по каждой записи (ее параметров), и клиенту достаточно знать только положителен или отрицателен результата запроса, и если положителен и было выбрано удаление, то удалить из формы элементы удаленной записи. В данном случае нужно еще добавить на клиенте и анализ выбранной операции.
Ответить с цитированием
  #16 (permalink)  
Старый 03.01.2018, 20:27
Аспирант
Отправить личное сообщение для mazahaler Посмотреть профиль Найти все сообщения от mazahaler
 
Регистрация: 20.11.2017
Сообщений: 72

laimas,
спасибо вам большое за разъяснения!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод из таблицы в БД c помощью AJAX smart-create AJAX и COMET 4 29.12.2016 20:44
Загрузка страниц с помощью ajax radikal AJAX и COMET 3 29.11.2012 16:26
Удаление и загрузка файлов с помощью AJAX trytolearn AJAX и COMET 3 15.07.2012 13:08
как поменять цвет элементов div с помощью ajax? uspehovna AJAX и COMET 12 20.08.2010 17:21
Проверка наличия логина в БД при регистрации, с помощью ajax storng Общие вопросы Javascript 4 09.04.2010 20:24