Javascript 发回后返回到下一个选项卡索引

Javascript 发回后返回到下一个选项卡索引,javascript,ajax,Javascript,Ajax,我的用户将看到通用名称:name1、name2、name3,并被要求将每个名称更改为更有意义的名称。如何使ajax post返回转到下一个输入/选项卡索引,或者至少不返回刚刚更改的名称?(查看下面的注释) HTML: <div class="name"><input type="text" id="nameinput1" value="name1" onchange="changeName(0)"></div> <div class="n

我的用户将看到通用名称:name1、name2、name3,并被要求将每个名称更改为更有意义的名称。如何使ajax post返回转到下一个输入/选项卡索引,或者至少不返回刚刚更改的名称?(查看下面的
注释)

HTML:

    <div class="name"><input type="text" id="nameinput1" value="name1" onchange="changeName(0)"></div>
    <div class="name"><input type="text" id="nameinput2" value="name2" onchange="changeName(1)"></div>
    <div class="name"><input type="text" id="nameinput3" value="name3" onchange="changeName(2)"></div>

纯javascript,请不要jquery。

您只需将当前索引传递给回调函数
returnChangeName
,就可以在回调中获得下一个输入。我还建议您使用
JSON.stringify
函数将对象转换为字符串:

function changeName(index) {
    var name = document.getElementById("main").getElementsByTagName("input")[index].value;
    var json = [{
        index: index,
        name: name.replace(/\s/g, "")
    }];
    loadDoc(JSON.stringify(json), "ID", "url", returnChangeName(index));
}

function returnChangeName(index) {
    return function returnChangeNameResponse(xttp) {
        var next = document.getElementById("main").getElementsByTagName("input")[index + 1];
        if (next) {
            // whatever you want to do with this
            // for example, focus the next one
            next.focus();
        }
    }
}

function loadDoc(json, id, url, callback) {
    // sth
    callback({});
}
function changeName(index) {
    var name = document.getElementById("main").getElementsByTagName("input")[index].value;
    var json = [{
        index: index,
        name: name.replace(/\s/g, "")
    }];
    loadDoc(JSON.stringify(json), "ID", "url", returnChangeName(index));
}

function returnChangeName(index) {
    return function returnChangeNameResponse(xttp) {
        var next = document.getElementById("main").getElementsByTagName("input")[index + 1];
        if (next) {
            // whatever you want to do with this
            // for example, focus the next one
            next.focus();
        }
    }
}

function loadDoc(json, id, url, callback) {
    // sth
    callback({});
}