在jQuery中获取焦点表单字段id

时间:2013-04-02 16:20:14

标签: javascript jquery forms autosuggest

我目前正在修改一个开箱即用的php / jQuery自动提供脚本。我正在努力让脚本与多个文本输入字段一起使用。 它最初是与ONE字段一起使用的。

以下是原始脚本和表单代码:

function suggest(inputString){
    if(inputString.length == 0) {
        $('#suggestions').fadeOut();
    } else {
    $('#city').addClass('load');
        $.post("autosuggest.php", {queryString: ""+inputString+""}, function(data){
            if(data.length >0) {
                $('#suggestions').fadeIn();
                $('#suggestionsList').html(data);
                $('#city').removeClass('load');
            }
        });
    }
}

function fill(thisValue) {
    $('#city').val(thisValue);
    setTimeout("$('#suggestions').fadeOut();", 0);
}

我认为,修改脚本以处理多个输入字段的方法是获取焦点表单元素的id,然后执行以下操作:

function getFocusID() {
    // get the focused form field id here
}

if(focusedID == "city") {
    //Script for form field with "city" as id

    function suggest(inputString){
        if(inputString.length == 0) {
            $('#suggestions').fadeOut();
        } else {
        $('#city').addClass('load');
            $.post("autosuggest.php", {queryString: ""+inputString+""}, function(data){
                if(data.length >0) {
                    $('#suggestions').fadeIn();
                    $('#suggestionsList').html(data);
                    $('#city').removeClass('load');
                }
            });
        }
    }

    function fill(thisValue) {
        $('#city').val(thisValue);
        setTimeout("$('#suggestions').fadeOut();", 0);
    }
} // code for input id "city" END

// And now create if else statements for the other 4 input text fields, filling them with the code above.

我在这里想的正确吗?或者还有其他更有效的方法吗? 如果这是正确的方法,我如何获得焦点输入文本字段的inpud id?

1 个答案:

答案 0 :(得分:1)

那将是activeElement

function getFocusID() {
    return document.activeElement.id;
}