如何禁用所有输入字段并提交按钮 onkeypress 特定文本字段的事件

How to disable all input fields and submit buttons onkeypress event of a specific textfield

本文关键字:字段 onkeypress 文本 事件 按钮 提交 何禁用 输入      更新时间:2023-09-26

我在编辑textbox时触发了一个onkeypress事件:

.......

<ItemTemplate>
 <asp:TextBox ID="txtgvEmailAddress" Text = '<%# Eval("EMAIL")%>' runat="server" Width="200px" onkeypress="DetectUpdate(this)" onclick="ResetMessage();"/>
 <asp:Button ID="btnEmailUpdate" Text = "Update" runat="server" CommandName="UpdateEmail" onClientClick="return ValidateEmail(this);"/>
</ItemTemplate>
.

.......

textboxGridView的一部分,是UpdatePanel的一部分我有一个方法,当该特定textbox触发onkeypress事件时触发。

现在,我正在寻找禁用该GridView上的所有其他textboxes以及输入字段的方法,因此,用户在更新完成后无法更改它们

如何做到这一点?

谢谢的

我找到了以下解决方案:

 $(function(){
    $('input[type="text"]').live("focus", function() {
        var rowId = $(this).attr('id');
        $('tr').each(function(){
            var inputId = $(this).find('input[type="text"]').attr('id');
            if(inputId != null && typeof inputId != "undefined"){
                if(rowId != inputId){               
                    $(this).find('input[type="text"]').attr("disabled", "disabled");
                }
            }
        });                                
    });
});

这是一个链接:如何在更新成功之前禁用某些控件?但是,我仍然需要禁用与正在更新的textbox不属于同一行的所有提交控件

我也通过添加以下内容解决了最新的问题:

$(this).closest("tr").find('input[type="submit"]').attr("disabled","disabled");

内部if语句内部:

if(rowId != inputId){               
    $(this).find('input[type="text"]').attr("disabled", "disabled");
    $(this).closest("tr").find('input[type="submit"]').attr("disabled","disabled");
}