我有一个允许多项选择的下拉列表。用户从列表中选择,然后单击带有调用 JS 函数的 onclick=test() 的提交按钮。我正在使用 Jsp 页面,这是一个带有 DWR 的 Spring MVC 框架项目,用于远程服务。
从远程服务 - dwrService 返回的数据由回调函数 - handleAddSuccess 处理。根据选择的项目,我需要填充一个或多个文本区域。通过查看 Firebug,我看到 textarea 显示然后被填充,但是一旦函数 test() 完成,textarea 就会消失。我一直在到处寻找答案,但没有结果。
function test() {
var careIDs = dwr.util.getValue("careIDs");
dwrService.getNewCares(careIDs, {
callback : handleAddSuccess,
errorHandler : handleAddError
});
}
function handleAddSuccess(data) {
var aFragment = document.createDocumentFragment();
var divta1 = document.getElementById("divta1");
for (i = 0; i < data.length; i++) {
var ta = document.createElement("textarea");
ta.setAttribute("id", "definition"+i);
ta.setAttribute("cols", "75");
ta.setAttribute("rows", "75");
divta1.appendChild(ta);
aFragment.appendChild(divta1);
}
document.body.appendChild(aFragment);
for (i = 0; i < data.length; i++) {
dwr.util.setValue("definition"+i, data[i].definition);
}
alert(" end of handleAddSuccess " ) ;
}
我也从回调函数返回,情况是一样的——我可以看到在 Firebug 中设置了 textarea 元素并填充了值,但是一旦函数返回,textarea 元素就会消失。