function s(obj) {
            var t = eval("document.getElementById(" + obj + ").value");
            alert(t);
            //alert(document.getElementById("txt").value);
        }
    </script>
</head>
<body>
<form name="form" id="form" action="">
<input type="text" id="txt" name="txt" />
<input type="button" value="test" onclick="s('txt');" />
</form>
去掉  form 报 ‘缺少对象’错误
不去掉form 报 ‘缺少 ’txt‘对象’
请各位解释 谢谢

解决方案 »

  1.   

    eval(" var t = document.getElementById(" + obj + ").value");
      

  2.   

    eval(" var t = document.getElementById('" + obj + "').value"); 引号
      

  3.   

    eval(codeString)必选项 codestring 参数是包含有效 JScript 代码的字符串值。这个字符串将由 JScript 分析器进行分析和执行。所以最后拼接的要能运行的JS语句不加引号则JS理解为变量 txt
      

  4.   

      function s(obj) {
                var t = eval("document.getElementById('" + obj + "').value");
                alert(t);
                //alert(document.getElementById("txt").value);
            }