Prototye1.5中Ajax.Updater()中自定义函数中取的数据一直不能取到新数据?
各位高手,
这两天一直在搞Prototye1.5中Ajax.Updater()函数,总是有问题,自定义函数老是不能从服务器中取到新数据,请帮一下,下面是我的示例代码。当我点击2007或2008或2009链接时,返回页面中 button 的 value是一直在变化的,是可以取到这个返回值
,但我点这个button时,执行的函数中一直取不到这个返回值,总是显示第一次的取到的数值。例如我第一次显示这个页面时,alert出来是个"2007", 当我点击
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2008'});" >2008年</a>
这个按钮时,这个按钮的value值为变成 2008 ,但点击后,alert出来的信息还是2007,不是2008,搞了两天了,一直没能知道为什么,请帮一下。非常感谢!a.jsp返回服务器中取到的nf这个字段值,应该不会有问题。
<div id="condiv"><c:out value="${ob.curYear}"/>
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2007'});" >2007年</a>
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2008'});" >2008年</a>
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2009'});" >2009年</a> <SCRIPT LANGUAGE="JavaScript">
var selectChartMenu=function(id,url,params){
var loc=[];
if (params){
for(var key in params){
loc.push("&"+key+"="+params[key]);
}
}
loc.push("&ajax="+Math.random());
new Ajax.Updater(id, url, {
parameters:encodeURI(loc.join("")),
evalScripts: true,
method: 'get',
onFailure: function(){alert("出现异常")}
})
} var te=function(){
var curYear='<c:out value="${ob.curYear}"/>';
alert(curYear);
}
</SCRIPT>
<input type="button" value="<c:out value="${ob.curYear}"/>" onclick="te();">
</div>
各位高手,
这两天一直在搞Prototye1.5中Ajax.Updater()函数,总是有问题,自定义函数老是不能从服务器中取到新数据,请帮一下,下面是我的示例代码。当我点击2007或2008或2009链接时,返回页面中 button 的 value是一直在变化的,是可以取到这个返回值
,但我点这个button时,执行的函数中一直取不到这个返回值,总是显示第一次的取到的数值。例如我第一次显示这个页面时,alert出来是个"2007", 当我点击
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2008'});" >2008年</a>
这个按钮时,这个按钮的value值为变成 2008 ,但点击后,alert出来的信息还是2007,不是2008,搞了两天了,一直没能知道为什么,请帮一下。非常感谢!a.jsp返回服务器中取到的nf这个字段值,应该不会有问题。
<div id="condiv"><c:out value="${ob.curYear}"/>
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2007'});" >2007年</a>
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2008'});" >2008年</a>
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2009'});" >2009年</a> <SCRIPT LANGUAGE="JavaScript">
var selectChartMenu=function(id,url,params){
var loc=[];
if (params){
for(var key in params){
loc.push("&"+key+"="+params[key]);
}
}
loc.push("&ajax="+Math.random());
new Ajax.Updater(id, url, {
parameters:encodeURI(loc.join("")),
evalScripts: true,
method: 'get',
onFailure: function(){alert("出现异常")}
})
} var te=function(){
var curYear='<c:out value="${ob.curYear}"/>';
alert(curYear);
}
</SCRIPT>
<input type="button" value="<c:out value="${ob.curYear}"/>" onclick="te();">
</div>
<div id="condiv"><c:out value="${ob.curYear}"/>
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2007'});" >2007年</a>
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2008'});" >2008年</a>
<a href="javascript:selectChartMenu('condiv','a.jsp',{nf:'2009'});" >2009年</a> <SCRIPT LANGUAGE="JavaScript">
var selectChartMenu=function(id,url,params){
var loc=[];
if (params){
for(var key in params){
loc.push("&"+key+"="+params[key]);
}
}
loc.push("&ajax="+Math.random());
new Ajax.Updater(id, url, {
parameters:encodeURI(loc.join("")),
evalScripts: true,
method: 'get',
onFailure: function(){alert("出现异常")}
})
} var te=function(){
var curYear=document.getElementById('xxx').value;
alert(curYear);
}
</SCRIPT>
<input id="xxx" type="button" value="<c:out value="${ob.curYear}"/>" onclick="te();">
</div>
这个应该不是缓存的问题吧,那我页面中数据是取到的,只是在js函数中没法取到。谢谢!