我在html页面上有代码,它正在运行:
document.getElementById('<%=IdOstan.ClientID %>').options.length = 0;
它是一个功能的一部分。找到对象并运行代码。 但是,如果我将代码移动到单独的js文件,则使用以下命令调用该文件:
<script src="../../../../Script/AjaxCall.js" type="text/javascript"></script>
然后找不到对象。我的结论是,同一文件上的Object可以通过调用document.getElementById找到,但是传递给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文件用作帮助程序。 感谢
答案 0 :(得分:0)
使用隐藏输入来存储IdOStan.ClientID的ID值,并从外部javascript获取id name的值,然后就可以访问该对象。
<input id="MyHidden" value="<%=IdOstan.ClientID %>" />
在外部JS文件中。
var id = document.getElementById('MyHidden').value;
var IdOstan = document.getElementById(id);
现在,IdOstan是您正在寻找的对象。