Javascript 不重置JSP表中现有数据的新ajax调用
下面是我的ajax函数,它从servelt检索数据,并在jps中显示得很好,问题是每次提交新的ajax调用时,表单只是将数据附加到以前调用的结果中,我需要重置存储在表Javascript 不重置JSP表中现有数据的新ajax调用,javascript,ajax,jsp,dom,Javascript,Ajax,Jsp,Dom,下面是我的ajax函数,它从servelt检索数据,并在jps中显示得很好,问题是每次提交新的ajax调用时,表单只是将数据附加到以前调用的结果中,我需要重置存储在表OrderResultContainer中的当前值,然后用新数据显示它 我试过了 document.getElementById("OrderResultContainer").reset = (); 但它只是重置整个表单数据,而不在页面中显示任何数据 function addData() { if(window.XMLHt
OrderResultContainer
中的当前值,然后用新数据显示它
我试过了
document.getElementById("OrderResultContainer").reset = ();
但它只是重置整个表单数据,而不在页面中显示任何数据
function addData() {
if(window.XMLHttpRequest) {
var xhttp = new XMLHttpRequest();
var loading = document.getElementById("loading");
document.getElementById("loading").style.display = "";
document.getElementById("OrderResultContainer").style.display = "none";
xhttp.open("POST","Order",true);
var formData = new FormData(document.getElementById('orderform'));
xhttp.send(formData);
xhttp.onreadystatechange=function() {
if ((xhttp.readyState == 4) && (xhttp.status == 200)) {
var jsonorderdata = JSON.parse(xhttp.responseText);
txt = "";
for (x in jsonorderdata) {
txt += "<tr><td>" + jsonorderdata[x].ordernumber+"</td>""</tr>";
}
document.getElementById("loading").style.display = "none";
document.getElementById("ViewOrderResultContainer").innerHTML = document.getElementById("ViewOrderResultContainer").innerHTML + txt;
document.getElementById("divOrderResultContainer").style.display = "";
}
};
}else
console.log('Ajax call is failed');
}
函数addData(){
如果(window.XMLHttpRequest){
var xhttp=newXMLHttpRequest();
var加载=document.getElementById(“加载”);
document.getElementById(“加载”).style.display=“”;
document.getElementById(“OrderResultContainer”).style.display=“无”;
xhttp.open(“POST”,“Order”,true);
var formData=newformdata(document.getElementById('orderform');
xhttp.send(formData);
xhttp.onreadystatechange=函数(){
如果((xhttp.readyState==4)和&(xhttp.status==200)){
var jsonorderdata=JSON.parse(xhttp.responseText);
txt=“”;
对于(jsonorderdata中的x){
txt+=“”+jsonorderdata[x]。订单号+“”;
}
document.getElementById(“加载”).style.display=“无”;
document.getElementById(“ViewOrderResultContainer”).innerHTML=document.getElementById(“ViewOrderResultContainer”).innerHTML+txt;
document.getElementById(“divOrderResultContainer”).style.display=“”;
}
};
}否则
log('Ajax调用失败');
}
在从servlet收到新的ajax响应后,有谁能帮助我单独重置表
OrderResultContainer
中的数据吗 您可以使用以下代码将接收到的数据附加到上一页:
document.getElementById("ViewOrderResultContainer").innerHTML = document.getElementById("ViewOrderResultContainer").innerHTML + txt;
因此,如果按以下方式更改,则只会有新数据:
document.getElementById("ViewOrderResultContainer").innerHTML = txt;
没有相应的html很难看到,但这看起来像是个问题:
document.getElementById("ViewOrderResultContainer").innerHTML =
document.getElementById("ViewOrderResultContainer").innerHTML + txt;
您可以从ViewOrderResultContainer中获取innerHtml并从txt中附加值。如果你不止一次这样做,它就会继续增长。如果要替换文本,请将其替换为
document.getElementById("ViewOrderResultContainer").innerHTML = txt;
p、 给定的javascript无效
txt += "<tr><td>" + jsonorderdata[x].ordernumber+"</td>""</tr>";
txt+=''+jsonorderdata[x].ordernumber+'';