Mein Problem ist, ich habe eine HTML-Tabelle in JSP-Seite. Und ich angewendet Drag-and-Drop-Technik für die Reihenfolge der Reihenfolge .Ich auch neue Reihenfolge zu DB (Mysql) durch Aufruf Aktion durch AJAX.und Anzeige der Reihenfolge Durch die Verwendung der Reihenfolge nach SQL-Abfrage. Aber zum zweiten Mal funktioniert es nicht gut, weil ich nicht in der Lage bin, neue Zeilenreihenfolge für TR ID zu bekommen. Bitte teilen Sie Ihre Sicht auf das. Ich mache Drag and Drop durch Javascript-Code, der so ist:Wie aktualisiert man die JSP-Seite nach AJAX-Aktion
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)
}
und meine HTML-Tabelle Code ist so.
<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 ist zum Abrufen einiger serverseitiger Daten gedacht, ohne die Seite zu aktualisieren. Wenn Sie die Seite aktualisieren möchten, warum AJAX? Reichen Sie stattdessen eine '
Herr, wenn ich eine Reihe ziehen und es an einem anderen Ort fallen dann ruft diese Javascript-Funktion this.onDrop = Funktion (Tabelle, droppedRow), so dass für die Aktualisierung auf neue Reihenreihenfolge ich AJAX anrufen muss. YOu kann Code sehen mein Post.und nach dem Ausführen der Aktion ich die gleiche JSP wieder zurück, aber dieses Mal bekomme ich nicht wieder Zeile ID in UI.Bitte sir teilen Sie Sicht, ich kämpfe in es seit vielen Tagen. –