2017-03-02 7 views
1

の最初のロード時に一度だけを解雇しました。ボタンをクリックするとJavaScriptイベントが発生します。私の問題は、このイベントは、アプリケーションの最初のロード時に一度だけ発射されています。何らかの形でイベントがボタンのアンバインドしているようです。誰もそれで私を助けることができますか?ここでClickイベントは、私はASP.NET Webフォームを使用していたアプリケーション

は、ASPXボタンコントロールが

<asp:Button ID="btnGetReport" runat="server" Text="Apply"></asp:Button> 

であり、ここでJavaScriptコードです:

$("#btnGetReport").click(function() { 
    var fromDate = $('#txtDateFrom').val(); 
    var toDate = $('#txtDateTo').val(); 
    if (fromDate != "" && toDate != "") { 
     GetReport(fromDate, toDate); 
    } 
    else { 
     alert("\"Date From\" and \"Date To\" fields are required"); 
    } 
}); 

私はボタンをクリックしてください最初の時間は、それが.click()イベントが発生します。次のクリックは何も発射しません。

+0

問題を再現するためのコードを投稿してください。問題を再現するには、[Minimal、Complete、and Verifiable example](http://stackoverflow.com/help/mcve)をご覧ください。そうでなければ誰もあなたを助けることができません。 – bassfader

答えて

1

あなたがUpdatePanelを使用していますか?

答えがイエスである場合は、ページのロードにとUpdatePanel更新後クリックイベントをバインドする必要があります。

$(function() { 
    var _initialize = { 
     ReportBindClick : function() { 
      $("#btnGetReport").on('click', function() { 
       var fromDate = $('#txtDateFrom').val(); 
       var toDate = $('#txtDateTo').val(); 
       if (fromDate != "" && toDate != "") { 
        GetReport(fromDate, toDate); 
       } 
       else { 
        alert("\"Date From\" and \"Date To\" fields are required"); 
       } 
      }); 
     } 
    } 

    // Bind on page load complete 
    _initialize.ReportBindClick(); 

    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_endRequest(function() { 
     // Bind after UpdatePanel update 
     _initialize.ReportBindClick(); 
    }); 
} 
関連する問題