我的功能是为了根据得到的count动态创建表格,并且在表格内根据sip和sret等参数动态显示表格中的图片及文字。
为了动态创建表格,我用了一个for循环,为了使第二行以后的表格中的文本能动态显示我只好改函数中的行的id,因为我发现不改的话我每次循环都只是刷新了第一行的文本,后面几行根本不显示文本。
至于图片的动态显示,目前我还没考虑到,我最后的几个if else语句好像不起作用。我是应届毕业生。这是第一个任务。可这个页面我都快弄了一个月了。都让我有辞职的冲动了。
为了动态创建表格,我用了一个for循环,为了使第二行以后的表格中的文本能动态显示我只好改函数中的行的id,因为我发现不改的话我每次循环都只是刷新了第一行的文本,后面几行根本不显示文本。
至于图片的动态显示,目前我还没考虑到,我最后的几个if else语句好像不起作用。我是应届毕业生。这是第一个任务。可这个页面我都快弄了一个月了。都让我有辞职的冲动了。
解决方案 »
- 这个js在ie6下textare框的宽度被撑大,在ie7和火狐下正常,求高人指点下
- 调用javascript没反应?
- jQuery插入表格,我只能插入一行, 请高手们来看看.
- 关于jquery调用带参数的webservice方法
- js判断时间格式
- 如何弹出不带感叹号的警告窗口?
- js可以把打印预览的标题"打印预览"改一下吗?
- javascrip 仿Flash图片轮换效果
- 困惑了一晚上了。如何获取动态生成的Items的数量,获取的items的数量总是原来的值,为什么不是动态生成后的值呢?
- 在看javascript高级程序设计3时遇到个小问题,求帮助!不胜感激
- 关于表格的颜色
- YYYY-MM-DD正则表达式有错误,请各位老大帮忙
函数里面没有用到呀!!
什么用的??
function returnstr1()
{
if((sret==0)||(sret==1))
return '服务器'+ip1;
else
return '未添加服务器' ;
id=setTimeout("returnstr1()",500 );
}
中的ip1其实应该是sip1(我忘了改过来),我用sip是为了使后面的各个表格能独立接受参数而改变各自文本中的ip地址字符。
document.all.p2.id="p6";
document.all.p3.id="p7";
document.all.p4.id="p8";
document.all.p5.innerText=returnstr1();
document.all.p6.innerText=returnstr2();
document.all.p7.innerText=returnstr3();
document.all.p8.innerText=returnstr4();
==>//是不是要这样改动
document.all.p1.id=sip;
document.all.p2.id=sret;
document.all.p3.id=sip1;
document.all.p4.id=sret1;
document.getElementById(sip).innerText=returnstr1();
document.getElementById(sret).innerText=returnstr2();
document.getElementById(sip1).innerText=returnstr3();
document.getElementById(sret1).innerText=returnstr4();
document.all.p1.id=sip;
document.all.p2.id=sret;
document.all.p3.id=sip1;
document.all.p4.id=sret1;
document.getElementById(sip).innerText=returnstr1();
document.getElementById(sret).innerText=returnstr2();
document.getElementById(sip1).innerText=returnstr3();
document.getElementById(sret1).innerText=returnstr4();
var str="<td height='179' valign='top' bgcolor='#00FFFF'>";
str=str+"<p align='center' class='style3'> </p>";
str=str+"<p align='center' class='style3' id=p1></p>";
str=str+"<p align='center' class='style3' id=p2></p>";
str=str+"<p align='center' class='style3'>";
str=str+"<img src='test5.jpg' name='img3' id='img3' width=93 height=70>";
str=str+"</p>";
str=str+"<p> </p></td>";
var str1="<td height='179' valign='top' bgcolor='#00FFFF'>";
str1=str1+"<p align='center' class='style3'> </p>";
str1=str1+"<p align='center' class='style3' id=p3 name=p3></p>";
str1=str1+"<p align='center' class='style3' id=p4></p>";
str1=str1+"<p align='center' class='style3'>";
str1=str1+"<img src='test6.jpg' name='img4' id='img4' width=93 height=70>";
str1=str1+"</p>";
str1=str1+"<p> </p></td>";
document.all.p2.id=sret;
document.all.p3.id=sip1;
document.all.p4.id=sret1;
document.getElementById(sip).innerText=returnstr1();
document.getElementById(sret).innerText=returnstr2();
document.getElementById(sip1).innerText=returnstr3();
document.getElementById(sret1).innerText=returnstr4();替换后我在 addTable(s1,s2,s3,s4,i);后面用document.write(s2)发现打出的还是字符sret*啊。这样后面的if else语句就不能正确执行了。
另外,我原来有一个地方考虑错了,需要更正
var s1="sip"+i;
var s2="sret"+i;
var s3="sip"+(i+1);
var s4="sret"+(i+1);
更换为
var s1="sip"+2*i;
var s2="sret"+2*i;
var s3="sip"+(2*i+1);
var s4="sret"+(2*i+1);
我调试后发现,最顶端的sret的值并不是通过S*传入addtable然后再传给returnstr*(),而是直接传给returnstr*()的,因为我刚好在returnstr*()中也用了sret作为参数名。这样从第二行开始就都是照搬了第一行的显示。我把returnstr*()中的参数改了,果然是没有正确参数传过来了。传过来的可能是字符,所以结果都显示为undefined(也就是S*传过来的变量不是1和0而是字符)。还有什么办法解决把sip*和sret*的值传给S*么?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><SCRIPT language="javascript">
var sip0=1;
var sret0=1;
var sip1=1;
var sret1=1;
var count=7;//试验用
var sret=1;
var ip1=1;
var ip2=1;
var fip;
var fret;
var fip1;
var fret1;
</SCRIPT><BODY >
<div id=mydiv align="center" style="width:566;height:198;"></div>
<!--<INPUT TYPE = "button" VALUE = "AddTable" onclick = "addTable()" ID=Button1>-->
<script>function addTable(fip,fret,fip1,fret1,f){ var tb1 = document.createElement("table");
tb1.border="1px";
tb1.width="564";
tb1.height="196";
var m;
var row1 = tb1.insertRow();
var cell1=row1.insertCell();
var cell2=row1.insertCell();
mydiv.appendChild(tb1);
/*var htm = " <\script language=javascript defer>";
htm = htm + "function test(){alert('hello,world!');}";
htm = htm + "test();";
htm = htm + "<\/script>";*/
var str="<td height='179' valign='top' bgcolor='#00FFFF'>";
str=str+"<p align='center' class='style3'> </p>";
str=str+"<p align='center' class='style3' id=p1></p>";
str=str+"<p align='center' class='style3' id=p2></p>";
str=str+"<p align='center' class='style3'>";
str=str+"<img src='test5.jpg' name='img3' id='img3' width=93 height=70>";
str=str+"</p>";
str=str+"<p> </p></td>";
var str1="<td height='179' valign='top' bgcolor='#00FFFF'>";
str1=str1+"<p align='center' class='style3'> </p>";
str1=str1+"<p align='center' class='style3' id=p3 name=p3></p>";
str1=str1+"<p align='center' class='style3' id=p4></p>";
str1=str1+"<p align='center' class='style3'>";
str1=str1+"<img src='test6.jpg' name='img4' id='img4' width=93 height=70>";
str1=str1+"</p>";
str1=str1+"<p> </p></td>";
cell1.innerHTML=str;
document.all.p1.innerText=returnstr1(fret,fip);
document.all.p2.innerText=returnstr2(fret);
cell2.innerHTML=str1;
document.all.p3.innerText=returnstr3(fret1,fip1);
document.all.p4.innerText=returnstr4(fret1); m=f*4+1;
document.all.p1.id=fip;
document.all.p2.id=fret;
document.all.p3.id=fip1;
document.all.p4.id=fret1;
document.getElementById(fip).innerText=returnstr1(fret,fip);
document.getElementById(fret).innerText=returnstr2(fret);
document.getElementById(fip1).innerText=returnstr3(fret1,fip1);
document.getElementById(fret1).innerText=returnstr4(fret1);
}if(count!=0)
{ for(i=0;i<(count/2);i++)
{
var s1="sip"+2*i;
var s2="sret"+2*i;
var s3="sip"+(2*i+1);
var s4="sret"+(2*i+1);
addTable(s1,s2,s3,s4,i);
if(s2==0)
{
document.all.img3.src="test1.jpg";
}
else if(s2==1)
{
document.all.img3.src="test2.jpg";
}
else
{
document.all.img3.src="test7.jpg";
}
if(s4==0)
{
document.all.img4.src="test1.jpg";
}
else if(s4==1)
{
document.all.img4.src="test2.jpg";
}
else
{
document.all.img4.src="test7.jpg";
}
}
}
function returnstr1(fret,fip)
{
if((fret==0)||(fret==1))
return '服务器'+fip;
else
return '未添加服务器' ;
id=setTimeout("returnstr1()",500 );
}
function returnstr2(fret)
{ if(fret==0)
return '连接失败!' ;
else if(fret==1)
return '连接成功';
id=setTimeout("returnstr2()",500 );
}
function returnstr3(fret1,fip1)
{
if((fret1==0)||(fret1==1))
return '服务器'+fip1;
else
return'未添加服务器' ;
id=setTimeout("returnstr3()",500 );
}
function returnstr4(fret1)
{ if(fret1==0)
return '连接失败!';
else if(fret1==1)
return '连接成功';
}
</SCRIPT></body>
</html>
function Init()
{
var count=7;//试验用
if(count!=0)
{
var i;
for(i=0;i<(count/2);i++)
{
returnstr1=function(fret,fip)
{ return (fret==0)||(fret==1)?('服务器'+fip):'未添加服务器' }
returnstr2=function(fret)
{ return (fret==0)?'连接失败!':'连接成功' }
imgsrc1=function(fret,fip)
{ return (i%2==0)?('test1.jpg'):('test2.jpg') }
imgsrc2=function(fret,fip)
{ return (i%2==0)?('test3.jpg'):('test4.jpg')}
addTable=function(fip,fret,f)
{
var tb1 = document.createElement("table");
tb1.border="1px";
tb1.width="564";
tb1.height="196";
var m;
var row1 = tb1.insertRow();
var cell1=row1.insertCell();
var cell2=row1.insertCell();
document.all.mydiv.appendChild(tb1);
var str="<td height='179' valign='top' bgcolor='#00FFFF'>";
str=str+"<p align='center' class='style3'> </p>";
str=str+"<p align='center' class='style3' id=p1>"+returnstr1(fip,fret)+"</p>";
str=str+"<p align='center' class='style3' id=p2>"+returnstr2(fip,fret)+"</p>";
str=str+"<p align='center' class='style3'>";
str=str+"<img src="+imgsrc1(fip,fret)+"name='img3' id='img3' width=93 height=70>";
str=str+"</p>";
str=str+"<p> </p></td>";
var str1="<td height='179' valign='top' bgcolor='#00FFFF'>";
str1=str1+"<p align='center' class='style3'> </p>";
str1=str1+"<p align='center' class='style3' id=p3 name=p3>"+returnstr1(fip,fret)+"</p>";
str1=str1+"<p align='center' class='style3' id=p4>"+returnstr1(fip,fret)+"</p>";
str1=str1+"<p align='center' class='style3'>";
str1=str1+"<img src="+imgsrc2(fip,fret)+" name='img4' id='img4' width=93 height=70>";
str1=str1+"</p>";
str1=str1+"<p> </p></td>";
cell1.innerHTML=str;
cell2.innerHTML=str1;
}
addTable(1,1,5);
} }
}
</SCRIPT>
<body onload=Init()>
<div id=mydiv align="center" style="width:566;height:198;">
</div>
</body>
昨天我看过你的代码,我考虑自己先想想,看能不能想出来。问多了怕你也烦,呵呵。后来我就想通过jsp语句实现数值传递,因为我这页面最后肯定得做成jsp页面。我对jsp也是第一次接触,
这周末要交任务了,郁闷中...
你还有办法的话,再帮忙想想。最后预祝假期愉快。
{ if (fret==1)...else if() {} else if() ..//改成你的函数条件呀}
addTable=function(fip,fret,f)//参数不够就自己加吧
for(i=0;i<(count/2);i++)
{
var s1="sip"+2*i;
var s2="sret"+2*i;
var s3="sip"+(2*i+1);
var s4="sret"+(2*i+1);}
count=7;
for(i=0;i<(count/2);i++)
{
var s1="sip"+2*i;
alert(s1);;//不是sip0,sip2,sip4..吗?你需要什么呀 var s2="sret"+2*i;
var s3="sip"+(2*i+1);
var s4="sret"+(2*i+1);
}
</script>
count=7;
for(i=0;i<(count/2);i++)
{
var s1="sip"+2*i;
//不是sip0,sip2,sip4..吗?你需要什么呀 var s2="sret"+2*i;
var s2value=s2.substr(4,s2.length-3);//是不是要这个值0,2,4
alert(s2value)
var s3="sip"+(2*i+1);
var s4="sret"+(2*i+1);
}
</script>
所以我要得到的是sret0,sret2,sret4的实际值(在前面定义了的值)。比如,前面定义了,var sret0=5;我要得到的就是把这个5赋给s1.
<script>
var sip0=1;
var sret0=1;
var sip1=1;
var sret1=1;
var count=7;//试验用
var sret=1;
var ip1=1;
var ip2=1;
var fip;
var fret;
var fip1;
var fret1;
count=7;
for(i=0;i<(count/2);i++)
{
var s1="sip"+2*i;
alert(s1);
try
{
val=eval(s1);
}
catch(e)
{
val="0"
}
alert(val); var s2="sret"+2*i;
var s3="sip"+(2*i+1);
var s4="sret"+(2*i+1);
}
</script>
{
val="0"
}
上面这个是干嘛用的?去掉又不行.这样val最后还是等于0,s1还是等于字符sip*啊,sip*的值传到哪里去了?我看不明白,麻烦解释一下。
try
{
val=eval(s1);//取sip*的值得
}
catch(e)//
{
val="0"//取不到就给个默认值不然会出错的
}
alert(val);
你想什么时候取就什么时候用吧