function gows()
{
document.location.href="allusers_add.jsp?id=<%=id%>";
}
function hsgxia2shxurxu(nstr,nwbk)
{
if (eval("form1."+nwbk).value.indexOf(nstr)>=0)
{
eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");
}
else
{
eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";
}
}
这个代码n年的了吧,还用eval获取dom对象用
下面eval("form1." + xxxx)这种形式的代码是获取form1表单中的对应输入控件
nstr
是要给控件删除或者添加内容,nwbk
变量为form1中的控件名称。
这个代码类似复选框功能
简单示例如下
<form name="form1">
喜好:<span onclick="hsgxia2shxurxu('足球','hobby')">足球</span>、<span onclick="hsgxia2shxurxu('篮球','hobby')">篮球</span>、<span onclick="hsgxia2shxurxu('乒乓球','hobby')">乒乓球</span><br />
<input type="text" name="hobby" /><br />
省份:<span onclick="hsgxia2shxurxu('广西','pro')">广西</span>、<span onclick="hsgxia2shxurxu('北京','pro')">北京</span>、<span onclick="hsgxia2shxurxu('上海','pro')">上海</span><br />
<input type="text" name="pro" /><br />
</form>
<script>
function gows() {
document.location.href = "allusers_add.jsp?id=<%=id%>";//跳转到allusers_add.jsp这个页面,并get传递id参数,使用到了服务器端标签给id赋值
}
function hsgxia2shxurxu(nstr, nwbk) {
if (eval("form1." + nwbk).value.indexOf(nstr) >= 0) {
eval("form1." + nwbk).value = eval("form1." + nwbk).value.replace(nstr + ";", "");
}
else {
eval("form1." + nwbk).value = eval("form1." + nwbk).value + nstr + ";";
}
}
</script>
hsgxia2shxurxu===这个告诉我们,好好定义函数和变量名多么重要,否则谁能看得懂......
函数大概的功能是检查form1下的某个输入信息中是否有nstr表示的字符串,有的话就将其和其后的分号全部删掉。但有可能nstr表示的字符串后面没有分号,那就替换不掉。如果没有nstr表示的字符串,那么就给输入信息加上nstr表示的字符串,最后加一个分号
没写过JS,望文生义
hsgxia2shxurxu(nstr,nwbk)看这个就好像在看&*……%……&¥%……##@
如果eval("form1."+nwbk).value里有nstr
则删除其中的nstr+";",但是这里的eval("form1."+nwbk).value里如果没有nstr+";",则无事发生
如果没有nstr
则让其添加上nstr+";"