2017-03-08 4 views
0

は、私がw3schoolのポップアップjavascriptの意味: https://www.w3schools.com/howto/howto_js_popup.aspasp.netボタンでページをリロードせずにポップアップを表示させるにはどうしたらいいですか?ポップアップすることにより

を私はAjaxの更新パネル内のボタンを入れしようとしましたが、何らかの理由でJavaScriptの機能がトリガされません。

<asp:ScriptManager ID="ScriptManager" runat="server"></asp:ScriptManager> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
      <div id="footerbuttons" class="questioncard"> 
       <div class="popup" onclick="savedPopup()"> 
        <asp:Button ID="SaveChangesButton" runat="server" Text="Save Changes" OnClick="SaveChangesButton_Click" BackColor="#F9AF19" Font-Size="Medium" /> 
        <span class="popuptext" id="savedPopup">Saved!</span> 
       </div> 
       <div class="popup" onclick="sentPopup"> 
        <asp:Button ID="SubmitButton" runat="server" Text="Submit to Supervisor" OnClick="SubmitButton_Click" BackColor="#F9AF19" Font-Size="Medium"/> 
        <span class="popuptext" id="sentPopup">Sent!</span> 
       </div> 
      </div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 


    <script type="text/javascript"> 
    function savedPopup() { 
     var popup = document.getElementById("savedPopup"); 
     eval(popup.classList.toggle("show")); 
    } 

    function sentPopup() { 
     var popup = document.getElementById("sentPopup"); 
     eval(popup.classList.toggle("show")); 
    } 
    </script> 
+0

本部の両方とASPの背後にあるコードで:ボタンonclicksがありますか?。 DIVのOnclickとasp:Buttonの場所を削除してみてください。OnClientClick = "savedPopup" – Sailor

+0

これを試してみました。このようにすると、javascriptが起動せず、バックエンドコードが実行されません。 – TroutIn2D

+0

更新関数savedPopup(){ var popup = document.getElementById( "savedPopup"); eval(popup.classList.toggle( "show"));偽を返します。 }およびasp:Button OnclientClick = "return savedPopup(); – Sailor

答えて

0

ContentTemplateタグを閉じた後にasyncPostBackTriggerを追加する必要があると思います。

<Triggers> 
<asp:AsyncPostBackTrigger ControlID="SaveChangesButton" EventName="Click" /> 
<asp:AsyncPostBackTrigger ControlID="SubmitButton" EventName="Click" /> 
    </Triggers> 

はその後

SaveChangesButtonボタンのClickイベント

ScriptManager.RegisterStartupScript(this, this.GetType(), "savedPopup", "savedPopup();", true); 

とサブミットボタンのClickイベント

ScriptManager.RegisterStartupScript(this, this.GetType(), "sentPopup", "sentPopup();", true); 
関連する問題