我有一个带有一些JavaScript组件的C#ASP.NET应用程序。特别是,有一个JavaScript弹出窗口,用户可以在其中输入一些详细信息,然后按确定(JavaScript按钮)提交数据。然后,这将调用一个JavaScript函数Ok(),它将处理数据并关闭弹出窗口。
我希望Ok()函数也在服务器端的ASP按钮上调用click(),但即使在运行时捕获了正确的元素,事件也不会激活。
有问题的代码摘录:
function Ok() {
var btn = document.getElementById("aspBtn");
btn.click();
[ some extra processing ]
}
最令我困惑的是,这个确切按钮上的确切click()事件在代码的另一部分中成功调用。请指教。
编辑:我无法以令人满意的方式修复此问题,因此将使用服务器按钮。从UI的角度来看并不理想,但必须这样做。答案 0 :(得分:2)
asp按钮ID在浏览器上运行时会发生变化 试试这个
document.getElementById('<%=aspBtn.ClientID %>').click();
答案 1 :(得分:0)
使用触发事件。
function Ok() {
document.getElementById('<%# aspbutn.ClientId%>').trigger("click");
[ some extra processing ]
}
有关详细信息,请参阅以下链接。
答案 2 :(得分:0)
function Ok() {
document.FormName.btn.click();
[ some extra processing ]
}