不要使用一些有歧义的变量名 <script language="javascript"> function onsave(tmp,fm) { var fm; var num; fm='form'+fm.toString(); num='txtnumber'+tmp.toString(); alert(document.forms[fm].num.value); } </script>
有些问题,改一下 <script language="javascript"> function onsave(tmp,fm) { var fom, num; fom = 'form' + fm.toString(); num = 'txtnumber' + tmp.toString(); alert(document.forms[fom].num.value); } </script>
var ss=["document.form",fm,".txtnumber",tmp].join("")的作用就是把数组的内容连起来变成字符串.也可以这样写,两者是一样的,看个人的写作风格了 var ss="document.form"+fm+".txtnumber"+tmpeval(ss) 就是执行一个字符串, eval(ss)就是把string变成一个dom对象看个例子<input id="t1" value="aaa"> <button onclick="func1()">查看1</button> <button onclick="func2()">查看1</button> <script> var vv="t"+"1" function func1(){alert(vv.value)} function func2(){alert(eval(vv).value)}//结果自己看把, func1会出错</script>
没有number这个对象吧。
<script language="javascript">
function onsave(tmp,fm)
{
var fm;
var num;
fm='form'+fm.toString();
num='txtnumber'+tmp.toString();
alert(document.forms[fm].num.value);
}
</script>
<script language="javascript">
function onsave(tmp,fm)
{
var fom, num;
fom = 'form' + fm.toString();
num = 'txtnumber' + tmp.toString();
alert(document.forms[fom].num.value);
}
</script>
<form name=form1 method=post>
<input type=text name=txtnumber1 value="1">
<button onclick="javascript:onsave(1,1)">查看</button><br>
<input type=text name=txtnumber2 value="2">
<button onclick="javascript:onsave(2,1)">查看</button><br>
<input type=text name=txtnumber3 value="3">
<button onclick="javascript:onsave(3,1)">查看</button><br>
</form>
<form name=form2 method=post>
<input type=text name=txtnumber1 value="2">
<button onclick="javascript:onsave(1,2)">查看</button><br>
<input type=text name=txtnumber2 value="4">
<button onclick="javascript:onsave(2,2)">查看</button><br>
<input type=text name=txtnumber3 value="6">
<button onclick="javascript:onsave(3,2)">查看</button><br>
</form>
<form name=form3 method=post>
<input type=text name=txtnumber1 value="3">
<button onclick="javascript:onsave(1,3)">查看</button><br>
<input type=text name=txtnumber2 value="6">
<button onclick="javascript:onsave(2,3)">查看</button><br>
<input type=text name=txtnumber3 value="9">
<button onclick="javascript:onsave(3,3)">查看</button><br>
</form><script language="javascript">
function onsave(tmp,fm) {
var vv=eval(["document.form",fm,".txtnumber",tmp].join("")).value
return alert(vv || "请输入数据") //如果为空就提示输入数据
}
</script>
看不懂
var ss="document.form"+fm+".txtnumber"+tmpeval(ss) 就是执行一个字符串, eval(ss)就是把string变成一个dom对象看个例子<input id="t1" value="aaa">
<button onclick="func1()">查看1</button>
<button onclick="func2()">查看1</button>
<script>
var vv="t"+"1"
function func1(){alert(vv.value)}
function func2(){alert(eval(vv).value)}//结果自己看把, func1会出错</script>