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