文本框在 JavaScript 警报后更改高度和边框宽度

Textboxes change height and border width after javascript alert

本文关键字:高度 边框 JavaScript 文本      更新时间:2023-09-26

我有这些文本框:

<asp:Label ID="lbllastname" runat="server" Text="LastName" 
     CssClass="labels" />&nbsp;
<asp:TextBox ID="txtlastname" runat="server" CssClass="texts"
     onkeyup="firstElementPress(event);" TabIndex="3" />
<br />
<asp:Label ID="lblfirstname" runat="server" Text="FirstName" 
     CssClass="labels" />&nbsp;
<asp:TextBox ID="txtfirstname" runat="server" CssClass="texts"
      onkeyup="firstElementPress(event);" TabIndex="4" />
<br />
<asp:Label ID="lblmi" runat="server" Text="MI" CssClass="labels" />&nbsp;
<asp:TextBox ID="txtmi" runat="server" CssClass="texts"
      onkeyup="firstElementPress(event);" TabIndex="5" />
<br />
<asp:Label ID="lblext" runat="server" Text="Suffix" CssClass="labels" />&nbsp;
<asp:TextBox ID="txtext" runat="server" CssClass="texts"
     onkeyup="firstElementPress(event);" TabIndex="6" />

.CSS:

.labels
{
    font: bold 10pt Calibri;
    color: Black;
}
.texts
{
    border-color: Black;
    border-width: thin;
    height: 16px;
    font: 10pt Calibri;
}

它们很好,但如果用户在名称已经存在时遇到 javascript 警报,这些文本框会失去其高度并且边框会变粗。我不知道为什么会这样。

下面是警报的代码:

Response.Write("<script>alert('The name you specified already exists!');
                </script>");

为什么会这样?我认为这与onkeyup事件的javascript无关。或者也许是这样?IDK。它只是将焦点放在不同的控件上。

无论如何,这是它的Javascript:

function firstElementPress(e) {
    if (e.keyCode == 27) {
        document.getElementById('fuso').focus();
    }
    if (e.keyCode == 17) {
        document.getElementById('txtso').focus();
    }
}

我希望有人能向我解释为什么会发生这种情况。谢谢!

试试这个...

提示消息如下:

 Page.ClientScript.RegisterStartupScript(this.GetType(), "alertmesg", "<script language=javascript> alert('The name you specified already exists!');</script>");

Response.Write("<script>alert('The name you specified already exists!');</script>");

谢谢。。。