Javascript asp.net c#multi-objet传递到Js代码文件

本文关键字:Js 代码 文件 asp net c#multi-objet Javascript | 更新日期: 2023-09-27 18:00:34

我在html页面上有代码,它正在工作:

document.getElementById('<%=IdOstan.ClientID %>').options.length = 0;

它是函数的一部分。找到对象并运行代码。但是,如果我将代码移动到一个单独的js文件,那么使用调用该文件

<script src="../../../../Script/AjaxCall.js" type="text/javascript"></script>

则找不到对象。我的结论是,通过调用document.getElementById可以在同一文件中找到Object,但对于传递给Js的对象,这是不正确的,而且看起来很正常。我试图在调用JS函数时传递对象,如下所示:

<asp:DropDownList ID="IdLand" runat="server" onchange="UpdateOstan(this);" 
     DataTextField="NameLand" DataValueField="IdLand" ViewStateMode="Enabled" 
     AutoPostBack="false">
</asp:DropDownList>

它也起作用。但我也需要传递第二个对象,我已经尝试过了:

onchange="UpdateOstan(this, IdsecondObj);"

也就是这个

onchange="UpdateOstan(this, document.getElementById('IdSecondObject'));"

不起作用。所以请让我知道如何将html对象传递给不在同一页面上的Javascript。我根本不想使用jQuery文件作为助手感谢

Javascript asp.net c#multi-objet传递到Js代码文件

使用隐藏输入来存储IdOStan.ClientID的ID值,并从外部javascript获取ID名称的值,然后您就可以访问该对象。

<input id="MyHidden" value="<%=IdOstan.ClientID %>" />

在外部JS文件中。

var id = document.getElementById('MyHidden').value;
var IdOstan = document.getElementById(id);

现在IdOstan就是你要找的对象。