js里的后台数组变量的下标如何引用js中定义的变量 本帖最后由 benprince 于 2012-07-17 15:55:16 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议在firebug中调试,看下控制台报什么错? <%=(这里是读取的服务器的)%> 你赋值的是客户端的变量,所以是行不通的 你可以将服务器的数据代码编程json到一个状态值上,你用js分解成数组形式来做就可以了 楼主,首先这样是无法实现的.1).onlyfilename在后台运算好了在抛到前端,就是只能在后台计算.所以我们在前端用onlyfilename[count]是错误的.你只能在onlyfilename[1]写具体的数字.2).有另外一种方法,可以解决问题,首先在后台把onlyfilename转换成字符串,用逗号隔开,然后在前端接受在转换成js Array.然后就可以直接onlyfilename[count]调用了. 楼主啊js是在前台执行的,而java是在后台执行的。也就是说当你执行<%%>的时候,var chushii=0压根就没有执行,试问又怎么会有chushii这个变量呢?我建议换种写法:<script language="JavaScript" type="text/javascript"> var chushii=0; function changepic() {//计时器调用的函数 var onlyfilenames = [ <% for(int i = 0 ; i < onlyfilename.length ; i ++){ %> '<%=onlyfilename[i] %>', <% } %> '']; ss = "tu\\17\\" + onlyfilenames[chushii]; //就是这句怎么写 chushii++; if (chushii==<%=filenum%>) {clearInterval(timermy); } }</script> 是的,现在知道了<%=(这里是读取的服务器的)%>只能使用后台的变量 您的开篇一声凄惨的呐喊:“楼主啊”,让俺意识到俺可能升级到菜鸟中的战斗机级别了。看了您的代码,就清楚您的思路了。但提示错误:“System.Array”不包含“length”的定义。就直接在后台把length值先赋给一个变量。就着您的思路谷歌下就解决了。不知道有木有人要看代码<script language="JavaScript" type="text/javascript"> var onlyfilenames=new Array(); //启动循环计时器 function ff4() { timermy = setInterval("changepic()", 500); <% for(int i= 0 ; i < filenum;i ++) { %> onlyfilenames.push("<%=onlyfilename[i]%>");//不是字符串就不要加引号 <% } %> }</script> ie8加载图片时,如何获取图片高宽值 一点点分聊表敬意,求排错。。。 修改一下拖动层 gb2312编码转换成对应的文字 急急急急急!!!!!!!!!!!!! 怎样写代码显示某个某个控件的Tooltip而同时鼠标不在这个控件上? table的insertRow和deleteRow的问题 请问学javascript有什么好的方法或好书? 怎样单击一个按钮像联接一样转向一个URL?? 请问怎么控制数据的小数位?送大分48分,急用!!! 滚动函数计次数 jquery怎样选择到被点击的图片自身? Ext的combobox放在window里,window一关报错
1).onlyfilename在后台运算好了在抛到前端,就是只能在后台计算.所以我们在前端用onlyfilename[count]是错误的.你只能在onlyfilename[1]写具体的数字.
2).有另外一种方法,可以解决问题,首先在后台把onlyfilename转换成字符串,用逗号隔开,然后在前端接受在转换成js Array.然后就可以直接onlyfilename[count]调用了.
也就是说当你执行<%%>的时候,var chushii=0压根就没有执行,试问又怎么会有chushii这个变量呢?我建议换种写法:
<script language="JavaScript" type="text/javascript">
var chushii=0;
function changepic() {//计时器调用的函数
var onlyfilenames = [
<%
for(int i = 0 ; i < onlyfilename.length ; i ++){
%>
'<%=onlyfilename[i] %>',
<%
}
%>
''];
ss = "tu\\17\\" + onlyfilenames[chushii]; //就是这句怎么写
chushii++;
if (chushii==<%=filenum%>)
{clearInterval(timermy); }
}
</script>
看了您的代码,就清楚您的思路了。但提示错误:“System.Array”不包含“length”的定义。
就直接在后台把length值先赋给一个变量。
就着您的思路谷歌下就解决了。
不知道有木有人要看代码<script language="JavaScript" type="text/javascript">
var onlyfilenames=new Array();
//启动循环计时器
function ff4() {
timermy = setInterval("changepic()", 500);
<%
for(int i= 0 ; i < filenum;i ++) {
%>
onlyfilenames.push("<%=onlyfilename[i]%>");//不是字符串就不要加引号
<%
}
%>
}
</script>