Моя проблема заключается в том, что у меня есть одна таблица html на странице jsp. И я применил технологию перетаскивания для упорядочения строк. Я также сохраняю новый порядок в DB (Mysql). Вызывая действие через AJAX.и показывая заказ. Используя заказ по sql-запросу. Но во второй раз он не работает хорошо, потому что я не могу получить новый порядок строк для идентификатора TR. Пожалуйста, сэр поделитесь своим взглядом на это. Я занимаюсь перетаскиванием через код Javascript, который выглядит следующим образом:Как обновить страницу jsp после действия ajax
this.onDrop = function(table, droppedRow) {
var rows = this.table.tBodies[0].rows;
var debugStr = "";
for (var i=0; i<rows.length; i++) {
debugStr += rows[i].id+" ";
alert(debugStr);
alert(droppedRow.id);
}
// document.getElementById('debug').innerHTML = debugStr;
function ajaxRequest(){
var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
for (var i=0; i<activexmodes.length; i++){
try{
return new ActiveXObject(activexmodes[i])
}
catch(e){
//suppress error
}
}
}
else if (window.XMLHttpRequest) // if Mozilla, Safari etc
return new XMLHttpRequest()
else
return false
}
//Sample call:
var mypostrequest=new ajaxRequest()
mypostrequest.onreadystatechange=function(){
if (mypostrequest.readyState==4){
if (mypostrequest.status==200 || window.location.href.indexOf("http")==-1){
document.getElementById("gfdg").innerHTML=mypostrequest.responseText
}
else{
alert("An error has occured making the request")
}
}
}
//var namevalue=encodeURIComponent(document.getElementById("name").value)
// var agevalue=encodeURIComponent(document.getElementById("age").value)
var parameters="array="+debugStr+"&maxLimit="+droppedRow.id
mypostrequest.open("POST", "tableAjaxUpdate.action", true)
mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
mypostrequest.send(parameters)
}
и мой код таблицы Html - вот так.
<tr id="<%= uniqueId%>">/I am taking this row id from the db(from the exorder column)
<% System.out.println("AAAuniqueId----->" + uniqueId); %>
<td height="30" align="center" valign="middle" class="vtd" width="3%">
<%=dayCount%>
</td>
<td height="30" align="center" valign="middle" class="vtd" width="3%">
<%=exerciseGroupName%>
</td>
<td height="30" align="center" valign="middle" class="vtd" width="3%">
<%=exerciseName%>
</td>
<td height="30" align="center" valign="middle" class="vtd" width="3%">
<%=sets%>
</td>
<td height="30" align="center" valign="middle" class="vtd" width="3%">
<%=reps%>
</td>
<td height="30" align="center" valign="middle" class="vtd" width="3%">
<s:url id="idDeleteExName" action="deleteExNameInCustomtemplate">
<s:param name="dayCount"> <%=dayCount%></s:param>
<s:param name="cusExId"><%=cusExId%></s:param>
<s:param name="routineId"><%=routineId%></s:param>
</s:url>
<s:a href="%{idDeleteExName}"><img src="images/tables/delete-icon.png" style="width: 35px;height: 35px;"></s:a>
</td>
AJAX предназначен для получения некоторых серверных данных без обновления страницы. Если вы хотите обновить страницу, зачем использовать AJAX? Вместо этого отправьте '
сэр, когда я перетаскиваю строку и отбрасываю ее в каком-то другом месте, то этот javascript fuction this.onDrop = function (table, lostRow) вызывает, поэтому для обновления на сервер новый порядок строк мне нужно позвонить AJAX.YOu может видеть код в my post.and после выполнения действия, я снова возвращаю тот же jsp, но на этот раз я не получаю идентификатор строки снова в UI. Пожалуйста, сэр поделитесь с вами взглядом, я борюсь с ним в течение многих дней. –