那这样试一下,在定义的时候给一个值,然后在newTr(){里面输出看一下!

解决方案 »

  1.   

    var newid;//全局变量
    我在点击某一个菜单时触发它的onclick="newTr();getdate()"
    先执行
    function newTr(){
       newid = 12;
    }
    然后
    function getdata(){
     alert(newid); //undefine
    }我省略了很多代码, 但基本就是这样.
    我原来也这样做过很多次.
      

  2.   

    </head><body>
    <form name="form1" method="post" action="">
      <input type="button" name="Button" value="Button" onClick="newTr();return getdata();">
      <input type="button" name="Button1" value="Button" onClick="">
    </form></body>
    </html>
    <script language="javascript">
    var newid;//全局变量
    function newTr(){
       newid = 12;
    }function getdata(){
     alert(newid); //undefine
    }
    </script>
      

  3.   

    xiaolei1982(小磊--其实我是一个演员)
    xiaolei1982(小磊--木头:))
    这个后边的括号里是怎么换的?
      

  4.   

    这样试是可以的..
    我的newTr()跑了一次后台获得的值赋给newid.
      

  5.   

    是不是在你newTr()中跑后台是"异步"的,然后还没来得及给newid赋值就执行下边那个函数了.
    你在前边定义的时候把newid初始化一个值.试试再看看我的签名变了没.:)
      

  6.   

    恭喜楼上哈~~~
    我怀疑楼主在传值时对newid重新定义了
      

  7.   

    在你的源码中给全局变量赋个初值,看看两次alert的值是啥,是不是在newTr()中对newid进行了重新定义?