我已经使用纯HTML和CSS构建了一个消息框。我有一个按钮“ pop message”,它将触发后面代码中的事件“ pop_error_message”,另一个按钮“ Reset”将文本框设置为string.empty。我没有使用母版页,也没有使用参考。只是简单的html和c#。
我想知道为什么单击“弹出消息”按钮后,单击“重置”按钮时消息框也会弹出。另一个事实是,如果在页面加载后立即单击“重置”,则不会弹出消息框。仅在单击“流行消息”后出现问题。
页面加载->单击“弹出消息”->消息显示->单击“重置”->消息显示
页面加载->单击“重置”->未显示消息
我知道解决该问题的替代方法,例如如何使用asp验证程序的内容以及html的“ required”属性。我只是想知道为什么消息框会在“重置”时弹出。
<style type="text/css">
.alertBox
{
position: absolute;
top: 300px;
left: 30%;
width: 600px;
border:2px solid #f44336;
border-radius: 4px;
box-sizing: border-box;
padding: 7px 12px;
font-weight:bold;
font-size:x-large;
background-color:snow;
}
</style>
<form id="form1" runat="server">
<div runat="server" id="AlertBox" class="alertBox" Visible="false">
<div runat="server" id="AlertBoxMessage"></div>
<br/>
<span class="closebtn" style="color:black;" onclick="this.parentElement.style.display='none';">×</span>
</div>
Name: <br/>
<asp:Textbox ID="name" runat="server"/><br/>
Description: <br/>
<asp:Textbox ID="desc" runat="server" /><br/>
<br/>
<asp:button runat="server" Text="Pop Message" OnClick="pop_error_message" ></asp:button>
<asp:button runat="server" Text="Reset" OnClick="reset" >
后面的代码:
public void pop_error_message(object sender, EventArgs e)
{
AlertBoxMessage.InnerText = "here is the error message";
AlertBox.Visible = true;
}
public void reset(object sender, EventArgs e)
{
name.Text = string.Empty;
desc.Text = string.Empty;
}