防止TextBox在输入时触发

时间:2015-03-24 20:46:16

标签: javascript c# asp.net ajax

我正在使用Ajax从数据库中检索信息而不刷新页面。我有asp:TextBoxAjax触发TextChanged事件(当我从TextBox失去焦点时)。现在,我想禁用单击输入的选项,因为它会调用Ajax事件,但也会因某种原因刷新页面。如果通过向OnKeyDown添加属性来更改文字,我设法禁用了它。但是,当我更改文本并立即按回车键时,页面会刷新。我也尝试添加OnKeyPress,但似乎没有效果。我该如何解决这个问题?



function cancel_enter(elem) {
    if (window.event.keyCode == 13) {
        document.getElementById("btnReg").focus();
        document.getElementById("btnReg").click();
        if (elem != null)
            elem.focus();
        return false;
    }
    else
        return true;
    return true;
}

<asp:ScriptManager ID="MainScriptManager" runat="server" />
<table dir="rtl" style="text-align:left;" id="table_user" runat="server">
    <tr>
        <td>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"><ContentTemplate><asp:TextBox TextMode="SingleLine" ID="reg_user" runat="server" MaxLength="50" OnTextChanged="reg_user_TextChanged" AutoPostBack="true"></asp:TextBox></ContentTemplate></asp:UpdatePanel>
        </td>
    </tr>
</table>
&#13;
&#13;
&#13;

这是我的代码隐藏。我在那里添加了属性:

protected void Page_Load(object sender, EventArgs e)
{
    reg_user.Attributes.Add("OnKeyDown", "return cancel_enter(this);");
}

0 个答案:

没有答案