<asp:Button ID="btnupdate" runat="server" Text="UPDATE" ValidationGroup="check" />

        <div id="msgdiv" class="modal">
            <!-- Modal content -->
            <div class="modal-content">
                <span class="close">×</span>
                <p>
                    update ok confirm pls login again!!!!!!</p>
            </div>
        </div>

     <script>


        var modal = document.getElementById('msgdiv');


        var btn = document.getElementById("btnupdate");


        var span = document.getElementsByClassName("close")[0];

        btn.onclick = function () {
            modal.style.display = "block";
        }

        span.onclick = function () {
            modal.style.display = "none";
        }

    </script>

此代码用于模式弹出消息。
当我点击按钮时,它应该会显示模式弹出,然后当我点击“x”按钮时,它应该会关闭。
问题是,当您单击“更新”按钮时,它会显示模式弹出窗口,但会立即关闭。“就像,它就在那里,但不是“
我应该在后端代码上做些什么,还是可以在前端代码中修复它,以及如何修复?

最佳答案

删除asp:button并使其仅为输入类型,runat server:

<input ID="btnupdate" runat="server" type="button" value="UPDATE" ValidationGroup="check" />

        <div id="msgdiv" class="modal">
            <!-- Modal content -->
            <div class="modal-content">
                <span class="close">×</span>
                <p>
                    update ok confirm pls login again!!!!!!</p>
            </div>
        </div>

     <script>


        var modal = document.getElementById('msgdiv');


        var btn = document.getElementById("btnupdate");


        var span = document.getElementsByClassName("close")[0];

        btn.onclick = function () {
            modal.style.display = "block";
        }

        span.onclick = function () {
            modal.style.display = "none";
        }

    </script>

它之所以消失是因为按钮正在回发并重新加载表单,它只是执行得太快,以至于您看不到它。

09-19 19:46