求助一下这段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网站做好了,要怎么测试。