【问题标题】:Return to next tabindex after posting back回发后返回下一个 tabindex
【发布时间】:2020-08-26 14:51:28
【问题描述】:

我的用户看到了通用名称:name1、name2、name3,并被要求将每个名称更改为更有意义的名称。如何让 ajax 后返回转到下一个输入/tabindex 或至少不返回刚刚更改的名称? (在下方寻找WHAT GOES HERE?评论)

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:

    var jsons = '[{' ;
    var jsone = '"}]' ;
    function changeName(index){
    var json = jsons;
    var name = document.getElementById("main").getElementsByTagName("input")[index].value;
                json += '"index":"'+index+'",'
                json += '"name":"'+name.replace(/\s/g,"")+jsone
                loadDoc(json,"ID","url",returnChangeName)
            }       
    function returnChangeName(xttp){
    window.location = "#";    //  WHAT GOES HERE?
}            
    loadDoc(...){....}

纯 javascript,请不要使用 jquery。

【问题讨论】:

    标签: javascript ajax


    【解决方案1】:

    您只需将当前索引传递给回调函数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({});
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多