现在要修改iterator的value值,在js里面用ajax调用
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest();
}
catch (e){
// Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
}
}
}
var url="test.action";
xmlHttp.open("GET", url,true);
xmlHttp.onreadystatechange = function(){
alert(xmlHttp.readyState);
if (xmlHttp.readyState == 4) {
document.getElementById("bankVo").value=xmlHttp.responstText;
}
};
xmlHttp.send(null);
结果报document.getElementById(..)为空或不是对象..怎么解决呢?
[size=medium][quote]问题补充:
suziwen 写道
你这JS要放在生成控件之后。要等所有文件载入完成才能执行该JS。
是在控件之后的啊。。。 [/quote]
时机不对.
发送给浏览器.
这时js才执行, 这时js是看不到id="bankVo"的个东东的. 只能看到多个div.
这时只能使用js来通过操作DOM来修改DIV.[/size]
很少见你这样写的,标签是通过模板来生成的,它提取的是服务端返回的数据,你用js赋值当然不行了。
如果你需要的话,你还是得用个程序把ajax取得的值放到request中。
用<% %>也行。
如果你很多地方都会用到,就写个servlet程序,把你获取到的值传入servlet中,再servlet中设置到request中。然后所有用到这种情况的页面include一下这个servlet就行了。
提醒:ajax传回的值根据你的格式而决定,传list的话最好用json数据格式。程序中转换一下。
你这JS要放在生成控件之后。要等所有文件载入完成才能执行该JS。