Я вырезал части кода для удобства чтения.Приведенная ниже функция позиции выполняется, когда событие изменения инициируется путем перетаскивания дочернего элемента col_1:
$('#col_1').Sortable(
{
change: positions,
}
);
Проблема в том, что «позиции» отправляет сообщение ajax на сервер, который не проходит:
function positions(){
**i've removed some javascript code leading to a javascript variable called "variable" ***
xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
xmlhttp.open('POST', '/positions.php', true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("epositions="+variable);
xmlhttp.send(null);
return true;
}
Таким образом, сообщение не отправляется на сервер.Но я заметил, что если я вместо этого поставлю
$('#col_1').Sortable(
{
change: function() { positions(); },
}
);
Пост ajax будет отправлен, когда на дескрипторе дочернего узла в col_1 нажата кнопка, но элементы больше не могут быть отсортированы.
change: function(data) { positions(); },
также не отправляет запрос ajax, хотя элементы отсортированы.
Как мне решить эту проблему?Я что-то не так делаю или проблема с сортируемым пользовательским интерфейсом?