如何使用JavaScript调用asp:Button OnClick事件

How to call a asp:Button OnClick event using JavaScript?

本文关键字:Button OnClick 事件 asp 何使用 JavaScript 调用      更新时间:2023-09-26

我有一个问题,我有一个像下面这样的按钮:

<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" Visible="false" />

然后我有HTML按钮像下面这样:

<button id="btnsave" onclick="fncsave">Save</button>

我有下面的javascript:

<script type="text/javascript">
     function fncsave()
     {
        document.getElementById('<%= savebtn.OnClick %>').click()
     }
</script>

我现在的问题是,我怎么能从HTML按钮调用asp:Button OnClick ?我读过你可以通过从JavaScript调用Id来做到这一点,但不工作。

任何帮助都将是非常感激的。

谢谢

设置style= "display:none;"。通过设置visible=false,它将不会在浏览器中呈现按钮。因此,客户端脚本不会执行。

<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" style="display:none" />

html标记应该是

<button id="btnsave" onclick="fncsave()">Save</button>

将javascript更改为

<script type="text/javascript">
     function fncsave()
     {
        document.getElementById('<%= savebtn.ClientID %>').click();
     }
</script>

如果你愿意使用jQuery:

<script type="text/javascript">
 function fncsave()
 {
    $('#<%= savebtn.ClientID %>').click();
 }
</script>

同样,如果你正在使用。net 4或更好的版本,你可以制作ClientIDMode == static并简化代码:

<script type="text/javascript">
 function fncsave()
 {
    $("#savebtn").click();
 }
</script>

参考:MSDN文章的控制。ClientIDMode