web-dev-qa-db-ja.com

JavaScriptを使用してasp:Button OnClickイベントを呼び出す方法は?

私は質問があります、私は下のようなボタンがあります:

<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を呼び出すにはどうすればよいですか? IdからJavaScriptを呼び出すことでこれを行うことができるが、動作していないことを読んだことがあります。

どんな助けでも本当に感謝します。

ありがとうございました

14
jorame

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>
26
Sunny

JQueryの使用にオープンである場合:

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

また、.NET 4以降を使用している場合は、ClientIDMode == staticおよびコードを簡素化します。

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

参照: Control.ClientIDModeのMSDN記事

6
Glenn Ferrie