通过调用.click()来启动asp:Button的OnClick函数
Firing the OnClick function of an asp:Button from calling .click()
我想从Javascript函数调用一些服务器端代码。
我有这个按钮:
<asp:Button ID="quickAdd" runat="server" text = "Quick add" OnClick="QuickAdd" />
如果我点击它,C#函数QuickAdd将按预期调用
我在一个javascript函数中有这个命令:
document.getElementById("quickAdd").click();
并且该功能的执行不起任何作用。没有错误,我假设它只是点击按钮,但这不会触发QuickAddC#函数所需的事件。
我该如何解决这个问题?
而不是
document.getElementById("quickAdd").click();
使用
document.getElementById('<%=quickAddClientID%>').click();
其中quickAdd实际上是按钮变量的代码名。这只是因为您将无法引用该html项目,因为在运行时ID将因runat="server"而更改-因此这只是部分答案
具体来说,您应该尝试.onclick()
方法,但这里给出了更彻底的处理方法:
是否可以触发链接';s(或任何元素';s)通过JavaScript点击事件?
您有两种方法。
- 您可以忘记QuickAdd服务器事件,并进行ajax调用(请参阅此处的操作方法)
- 您可以使用ASP.NET AJAX调用执行Post,只需将鼠标悬停在链接中,即可看到将要执行的javascript,复制并使用该方法而不是
.click()
.click()不是Javascript中的原生函数(它在jQuery中)。因此,当您调用.click()时,不会发生任何事情,因为.click)没有指定。
如果您想获得对象的onclick方法,请使用以下代码:
var func = document.getElementById("quickAdd").onclick;
此时,func是#quickAdd元素的onclick函数。因此,在这一点上,您可以调用:
func();
或
document.getElementById("quickAdd").onclick();
其中任何一个都将获取并执行您的onclick事件。
如果这没有帮助,请在Firefox中调出您的页面,并使用Firebug控制台执行您的javascript(Firebug是一个您可以安装的Firefox插件,它可以让您访问)。
$(document).ready(function () {
$('#btnCancel').click(function (e) {
e.preventDefault();
$("<div><span><b>Are you sure you want to cancel this order?</b></span></div>").dialog({
modal: true,
draggable: false,
resizable: false,
width: 430,
height: 150,
buttons: {
"No": function () {
$(this).dialog("destroy");
},
"Yes": function () {
$("#btnCancel").unbind();
$(this).dialog("destroy");
document.getElementById('<%= btnCancel.ClientID %>').click();
}
}
});
});
});
然后在机身
<asp:button id="btnCancel" runat="server" cssclass="button_major" text="Cancel" style="float: right"
onclick="btnCancel_ClickEvent" clientidmode="Static" />
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 借助asp.net验证或java脚本对多个文本进行验证
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- 模拟<按钮>在<asp:button>
- ASP/C#-未触发UpdatePanel和Button OnClick事件
- Asp .NET Button - OnClientClick="return function()"
- Button ClientID inside asp:repeater
- Ajax Post URL在ASP.net Image Button OnClientClickClick上不起作用
- 文件上传后更改Asp-Button类
- Catch back button - ASP
- Null Page_Validators在触发asp button onclick时导致错误
- 如何从Javascript中触发Button's OnClick事件在asp.net应用程序中使用回调
- 在ASP Repeater中从Button调用Javascript
- Jquery with Asp.net button
- 如何使用JavaScript调用asp:Button OnClick事件
- 通过调用.click()来启动asp:Button的OnClick函数
- 尝试从 JavaScript 触发 ASP.NET 中的 button.click() 事件.事件不会触发