<script type="text/javascript">
function ClientSideClick(myButton) {
//make sure the button is not of type "submit" but "button"
if (myButton.getAttribute('type') == 'button') {
// disable the button
myButton.disabled = true;
//myButton.className = "btn-inactive";
myButton.value = "Posting...";
}
return true;
}
</script>
<asp:UpdatePanel ID="upComments" runat="server" UpdateMode="Always" >
<ContentTemplate>
<asp:ListView ... >
<asp:Button ID="btnSubPostComment" runat="server" Text="Reply Comment"
CommandName="cmdPostSubComment" OnClientClick="ClientSideClick(this)" UseSubmitBehavior="false"
</asp:ListView>
</ContentTemplate>
</asp:UpdatePanel>
Javascript 関数 (ClientSideClick) は、処理中にボタンを無効にします。
問題は、ボタンに OnClientClick="ClientSideClick" UseSubmitBehavior="false" を含めると、更新パネル内にあるにもかかわらず、完全なポストバックが発生することです。
これら 2 つのプロパティ OnClientClic と UseSubmitBehavior を削除すると、ボタンは完全なポストバックを引き起こしません。なぜこれが起こるのか誰か知っていますか?
私がやりたかったのは、ボタンを無効にして、複数の送信を防ぐためにテキストを変更することだけです。