ОБНОВЛЕНИЕ Я понял, что падение не записывает изменения в таблицу.
Я неплохо справляюсь с javascript, но все еще учусь. У меня есть БД с двумя таблицами «авторы» и «книги», и я хочу в интерактивном режиме перетащить авторов в книгу, чтобы обновить таблицу о том, кто автор. У меня все настроено, за исключением того, как структурировать request.post, так как я никогда не делал этого раньше и не смог ничего найти в своих поисках, кроме изменения порядка сортировки, который не помог.
Вот мой код, который позволяет мне перетаскивать, я застрял на обновлении.
Если кто-нибудь может помочь мне начать, я был бы очень признателен.
prepDragAuthor: function(drag, id, name) {
var p = drag.parentNode;
var mm = null, mu = null;
var ms0 = null, ms1 = null;
var dx = 0, dy = 0;
drag.onmousedown = function(e) {
stop(e);
mm = document.onmousemove;
mu = document.onmouseup;
ms0 = request.getMouse(e);
p.style.opacity = '0.5';
p.style.zIndex = books.zindex++;
var elements = Array();
for (var i = 0; i < books.books.children.length; i++)
elements.push({el:books.books.children[i], offsets:request.getOffsets(books.books.children[i])});
console.log(elements);
document.onmousemove = function(e) {
stop(e);
ms1 = request.getMouse(e);
dx = ms1.left - ms0.left;
dy = ms1.top - ms0.top;
p.style.left = dx+'px';
p.style.top = dy+'px';
for (var i = 0; i < elements.length; i++)
elements[i].el.style.backgroundColor = request.isContained(ms1.left, ms1.top, elements[i].offsets) ? '#33f' : '';
};
document.onmouseup = function(e) {
stop(e);
document.onmousemove = mm;
document.onmouseup = mm;
request.animate(p, 'left', 'px', dx, 0, 250);
request.animate(p, 'top', 'px', dy, 0, 250, function() {
p.style.opacity = '1.0';
});
for (var i = 0; i < elements.length; i++) {
elements[i].el.style.backgroundColor = '';
if (request.isContained(ms1.left, ms1.top, elements[i].offsets)) {
elements[i].el.children[2].innerHTML = name;
var book_id = elements[i].el.getAttribute('data-id');
request.post('index.php', {action:'updateauthor', title:title.value, author:author.value, year:year.value }, function(r) {
books.updateauthor();
title.value = author.value = year.value = '';
});