当前位置:编程学习 > JSP >>

求助一下这段JSP代码的具体意思,最好每句话都来个注释!急用!谢谢了!

function opr(type, id) { var result = null; if("addart" == type) { result = window.showModalDialog("<%=path%>/artManager.do?actionMethod=add&colId="+ id, "","dialogHeight:500px; dialogWidth:600px; status:no; help:no"); if (result != null) { var res = result.split("!"); var row = document.all("table"+id).insertRow(); var cal1 = row.insertCell(); cal1.innerHTML = "<input id='id' type='hidden' value='"+res[0]+"'/><div id='name' align='center'>"+res[1]+"</div>"; var cal2 = row.insertCell(); cal2.align="center"; cal2.innerHTML ="<input type='button' value='删除1' class='button-color' onclick='opr(\"del\"," +res[0]+");'/><input type='button' value='编辑1' class='button-color' onclick='opr(\"editpage\","+res[0]+");'/>"; } } else if("editpage" == type) { result = window.showModalDialog("<%=path%>/artManager.do?actionMethod=getArt&showArtId=" +id, "","dialogHeight:500px; dialogWidth:600px; status:no; help:no"); if (result != null) { var res = result.split("!"); var id = document.all.id; var name = document.all.name; if (id != null && name != null && res.length == 2) { if(id.value==undefined){ for (i=0;i<id.length;i++) { if (id[i].value == res[0]) { name[i].innerHTML= res[1]; break; } } } else { if (id.value == res[0]) { name.innerHTML = res[1]; } } } } } else if("del" == type) { document.forms[0].artId.value = id; document.forms[0].actionMethod.value = type; document.forms[0].submit(); }
追问:受教了。那能不能请你详细解释一下每个IF里的意思呢?特别是editpage下面的!多谢了!
答案:function opr(type, id)//传入参数type,id
		{
			var result = null;//声明一个变量
			if("addart" == type)//如果穿如放入参数是字符串"addart"的话,执行一下代码
			{
				result = window.showModalDialog("<%=path%>/artManager.do?actionMethod=add&colId="+ id,
						"","dialogHeight:500px; dialogWidth:600px; status:no; help:no");
                                  //显示高500,宽600的模式化对话窗口,显示servlet的绝对路径,?问号后面的传递的参数

			
				if (result != null)//如果变量result 不是空值
				{

					var res = result.split("!");//将result中的值以!号分割后赋值给res
					var row = document.all("table"+id).insertRow();//向表格中增加一行
					var cal1 = row.insertCell();//在新增加的行中增加单元格
					cal1.innerHTML = "<input id='id' type='hidden' value='"+res[0]+"'/><div id='name' align='center'>"+res[1]+"</div>";//在新增加的单元格中写入一个隐藏域,值为数组res第一个值,和一个层,层中显示数组res的第二个,
					var cal2 = row.insertCell();//在新增加的行中增加单元格
					cal2.align="center";//单元格中文本对其方式为居中对齐
					cal2.innerHTML ="<input type='button' value='删除1' class='button-color' onclick='opr(\"del\","
						+res[0]+");'/><input type='button' value='编辑1' class='button-color' onclick='opr(\"editpage\","+res[0]+");'/>";
//在新增的单元格中添加2个按钮,单击删除按钮时调用opr(\"del\","
						+res[0]+");方法,单击编辑按钮时'opr(\"editpage\","+res[0]+");
				}
			}			
			else if("editpage" == type)//如果传入的参数是"editpage"
			{
				result = window.showModalDialog("<%=path%>/artManager.do?actionMethod=getArt&showArtId=" +id,
						"","dialogHeight:500px; dialogWidth:600px; status:no; help:no");
   //显示高500,宽600的模式化对话窗口,显示servlet的绝对路径,?问号后面的传递的参数
				if (result != null)//变量result不为空
				{
					var res = result.split("!");//已!分割result
					var id = document.all.id;//获得id名
					var name = document.all.name;//获得name属性
					if (id != null && name != null && res.length == 2)//都不为空
					{
						if(id.value==undefined){//判断是否符合条件
							for (i=0;i<id.length;i++) //循环ID,然后给ID赋值
							{
					            if (id[i].value == res[0])//id数组中存在与res数组的第一个值相等的值
								{
									name[i].innerHTML= res[1];//将那么name属性名为name[i]中的控件中显示res[1]
									break;//退出循环
								}
							}
						}
						else//不满足以上条件,执行下面的代码
						{
							if (id.value == res[0])如果获得ID名的值为 数组res中第一个值
							{
								name.innerHTML = res[1];//将 res第二个值显示在name属性名为name的值的控件中	
							}
						}

					}
				}
			}

			
			else if("del" == type)//如果传入的参数type是 “del”
			{
				document.forms[0].artId.value = id;//将name属性名为artId的控件的值设置为变量id的值
				document.forms[0].actionMethod.value = type;//将name属性名为actionMethod的控件的值设置为变量 type的值
			  	document.forms[0].submit();//提交表单
			}
其他:哥哥,这是JAVASCRIPT代码 不是JSP代码

主要含义是  点一个按钮触发一个事件查询出数据显示,可以在这个基础上增删改查。 楼上正解 

上一个:JSP 打开制定地址的页面
下一个:jsp网站做好了,要怎么测试。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,