11
2014
04

外部js文件通过document.getElementById调用Asp.net页面内的服务器控件

 


方法一:

母版页的js代码:
  <script type="text/javascript" language="javascript"> 
    function getClientID()
    {
      var paraId1 = document.getElementById(" <%= txt_username.ClientID %>");
      return{p1:paraId1};//这样是返回json对象 paraId1是控件对象
 
    } 
    </script>
 
单独js文件中的代码:
function CheckData()

    var name = document.getElementById(getClientID().p1);
    alert(name);
    //改为  获取对象值
     var name = getClientID().p1.value;
    alert(name);
}

 

其实也就是
<script>
var myControllerId = <%=test1.ClientId%>
</script>
然后在其他js中用document.getElementById(myControllerId)即可获得该服务器控件。


方法二:使用JS全局变量
页面:
 
<script type="text/javascript">
var globals = {};
globals.controlIdentities = {};
globals.controlIdentities.someControl1 = '<%= Button1.ClientID %>';
globals.controlIdentities.someControl2 = '<%= TextBox1.ClientID %>';
</script>
<script type="text/javascript" src="JScript.js"></script>
 
JS文件:
function ChangeText()
{
var btn=document.getElementById(globals.controlIdentities.someControl1);
btn.value="OKbtn";
}

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。