0

每次焦点离开输入框时,我都有这个自动更新功能

            $("#input")
                .focusout(function(event) {
            $(this).attr("disabled", "disabled");           
                $.ajax({
                    url: "update.php",
                    dataType: "json",
                    data: {
                        ROWID: rowid,           
                        updateValue: $("#input").val(),
                        updateColumn: column
                        },
                    success: function(data){
                    if (data[0] == "TRUE"){
                    $("#input").removeAttr("disabled");
                            }   
                        }
                    });         
                });

在 php 中,SQL 执行是

update table set $_GET['updateColumn'] = $_GET['updateValue'] where rowid =  $_GET['ROWID']

我有这个 $("#input").removeAttr("disabled"); 反馈说更新是否成功。但是,如果我使用 tab 转到下一个输入框,该功能似乎会转义。如果你使用框点击没有问题。有没有办法对付这种情况?

4

1 回答 1

0

使用$("form").on("blur", "#input", function() { ... });代替.focusout

此外,您应该使用.prop()而不是.attr().removeAttr

例子: .prop('disabled', true);

.prop()用于表单元素。

于 2013-09-05T02:15:47.410 回答