求解。我本来是写了个JS函数在前端页面。后台拼接HTML代码输出到前端,有一个onclick事件。本来是想onclick事件触发后调用这个函数,谁知道这个函数在页面加载后会自动执行。这个函数内有个访问后台方法的语句。
谁告诉我怎么回事。

解决方案 »

  1.   

    你是不是页面加载后就调用onclick事件了
    另外发段代码上来看看
      

  2.   

    后台有个方法a(){里面拼接字符串返回:sb.Append("<select id='selParent' class='ask_item' size='16' onclick='f_change()'>");}前端JS里:
    function f_b(parentid){
        var select = document.getElementById("selChild");
            select.options.innerHTML = "";
            var a ='<%= GetSelectChild("'+parentid+'","questionclass") %>';
    }
      

  3.   

    页面加载的时候没有去调用onclick事件。我把<%= %>这条语句去掉。这个函数就不会自动执行。
      

  4.   

    前台代码跟后台代码都不会区分.
    <%= GetSelectChild("'+parentid+'","questionclass") %>
    //用ajax后台才能得到 parentid
      

  5.   

    这个不用AJAX也能访问到后台方法啊。
      

  6.   

    你运行,,IE右键"查看源文件"看看 var a = ?????
      

  7.   

    服务器端代码是先执行的。你应该在onclick再去调用服务器端的
    GetSelectChild()
      

  8.   

    关键是这个函数他自动执行了。这个函数本来就是onclick事件触发后再调用的。
      

  9.   

    GetSelectChild服务器端代码,是在你打开页面的时候执行
    页面的执行顺序是服务器端代码->打开页面->客户端代码
      

  10.   

    没有关系,用firebug可以看到结果,应该是先换的行后加载的数据
      

  11.   


    是这样的
    所以你要用ajax才行的
      

  12.   

    <%=%> 执行服务器端的代码
    <%代码片段,%>都是服务器端的
      

  13.   

    哦。原来如此。这么低级的一下没记起来。<%=%>是服务器端代码。