日期:2014-05-16  浏览次数:20318 次

eval 获得对象用法 请教达人
jsp 页面中 <input type="hidden" name="num444" id="num444" value="aaaa"> 
我想通过eval 得到这个对象具体方法

function _getObj(n){

 
 eval("var obj_name = document.all.num" + n);
 alert(obj_name);

 eval("var obj_id = document.getElementById('" + n+"')");
 alert(obj_id);
 
 
}

为什么通过name的可以 通过ID的不行 是写法有错吗 如果是那怎么写。因为我需要通过ID来得到

------解决方案--------------------
你传进来的是444吧
你通过name找的时候都知道是num+n
为什么通过ID的时候不知道呢?
------解决方案--------------------
var obj_id = document.getElementById('" + n+"')
写的没错,alert打不出来因为得到的是对象
------解决方案--------------------
JScript code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <script>
    function _getObj(n){

         eval("var obj_name = document.all.num" + n);
         alert(obj_name + '   name');

         eval("var obj_id = document.getElementById('num" + n+"')");
         alert(obj_id + '     id');
    } 

    window.onload = function () {
        _getObj(444);
    }
  </script>
 </head>

 <body>
  <input type="hidden" name="num444" id="num444" value="aaaa">
 </body>
</html>