应该在页面代码访问变量前调用document.write

解决方案 »

  1.   

    TO:mynewpc(水中日月)
       访问变量的代码也是写在document.write中的
      

  2.   

    看看你的脚本顺序在页面P中要访问WebUIValidation.js文件中的变量Page_ValidationVer访问的代码应该放在
    <script language="javascript" src="/aspnet_client/system_web/1_1_4322/WebUIValidation.js"></script>
    的后面就可以了
      

  3.   

    代码是这个样子的:
    var oNewDoc = document.open("text/html", "replace");
    var sMarkup = ....其中包含<script language="javascript...这一段
    oNewDoc.write(sMarkup);
    oNewDoc.close();
      

  4.   

    我认为关键的问题是document.write()这个函数的问题怎么在其中的代码段中声明变量的问题
      

  5.   

    谢谢:)
    经测试,发现如果变量不是定义在.js文件中,那么可以就可以访问
    pass.htm
    <script>
    document.write("<script" + " src='eondgdrag.js'>" + "</script" + "><scr" + "ipt>var bb='*';</scr" + "ipt><scr" + "ipt>alert(bb);</scr" + "ipt><input type=button onclick='ValidatorUpdateDisplay()'>" )
    </script>eondgdrag.js
    var aa = "p"
    function ValidatorUpdateDisplay()
    {
    alert(aa);
    }
      

  6.   

    谢谢楼上的友情客串:)这是Javascript版的seeu1688(kangel)的回复,解答了我的疑惑。
    js引擎按<script>块来解析的。
    对于write进入的js文件,在一个script块结束后才开始解析内部语法。所以在write写入js文件后,立即在同一<script>内调用js文件内的变量是免为其难的。要让后续脚本理解write写入的js里的变量,就必须立马用</script>结束这段脚本原问题解决如下:
    <script>
    document.write("<script" + " src='eondgdrag.js'>" + "</script" + ">");
    </script>
    <script>
    document.write("<scr" + "ipt>alert(aa);</scr" + "ipt><input type=button onclick='ValidatorUpdateDisplay()'>" )
    </script>
      

  7.   

    这是我在javascript版问的同样的问题,及其相应的回复:
    http://expert.csdn.net/Expert/topic/2618/2618395.xml?temp=.4640619
      

  8.   

    这样做是不可以的,因为你用js脚本在里面输出<script>标记会起冲突可以换个方法如下:a.js内容如下:
    var str="确定";a.htm内容如下:
    <script id=sc language=jscript></script>
    <script>
    document.all.item("sc").src="a.js";
    </script>
    <script>
    alert(str);
    </script>
    以上程序在win2000 server+ie6+sp1下测试成功