AJAX 回调后,onblur 返回到原始(或更新)字段

After AJAX callback, onblur goes back to original (or updated) field

我有一个 AJAX 回调:

HTML:

<a onCLick="loadXMLDoc(id1,id2)">(Add)</a>

这会调用一个 AJAX 函数,该函数回调一个基本的 html 输入字段来代替上面的“(添加)”

此输入字段中的 onChange 执行另一个 AJAX 回调,将用户输入加载到数据库中。

我想要做的是,一旦字段被填写(或未填写)并且字段变得模糊,它要么返回到原始值,要么返回到新更新的值(但不再是输入字段).

我已经搜索了一段时间,但一无所获。我也是 javascript 和 AJAX 的新手。如果有帮助,我主要在此应用程序中使用 PHP。

谢谢

加法

这就是我想要实现的目标:

我仍然没有完全理解,但希望这会向您展示一种 creating/changing DOM 元素的方法来响应您提到的事件:

$(document).ready(function() {
    $("#container").on("blur", ".name", function(e) {
        var val = $(this).val();
        if (!val) {
            $(this).closest(".row").html("<button class='add'>Add</button>");
        } else {
            $(this).closest(".row").html("<span class='label'>Name: </span><span>" + val + "</span>");
        }
    });

    $("#container").on("click", ".add", function(e) {
        var html = "<span class='label'>New Name: </span><input class='name' type='text' />";
        var row = $(this).closest(".row").html(html);
        row.find("input").focus();
    });

});

工作演示:http://jsfiddle.net/jfriend00/01ajd0y9/