<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>
此代码用于模态弹出消息。 当我点击按钮时,它应该显示模式弹出,然后当我点击&#34; x&#34;按钮然后它应该关闭。
问题是,当您单击更新按钮时,它会显示模式弹出但立即关闭。 &#34;它就像,它在那里但不是&#34;
我应该在后端代码中执行任何操作,还是可以在前端代码中修复,以及如何修复?
答案 0 :(得分:2)
删除asp:按钮,使其只是输入类型,runat服务器:
<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>
之所以它正在消失,因为按钮正在回发并重新加载表单,它只是这么快就让你看不到它。
答案 1 :(得分:1)
ASP.NET按钮始终是submit
按钮(输入)。此服务器端标记具有属性OnClientClick
,此处非常有用。
<asp:Button ID="btnupdate" runat="server" OnClientClick="return showModal()" Text="UPDATE" ValidationGroup="check" />
<%--Note "return" --%>
...
<script>
function showModal(){
//do what you need to show
return false; //prefent form submission
}
</script>