在jQuery中将焦点放在文本框上

use*_*636 5 ajax jquery textbox

我创建了一个文本框,当用户键入命令时.该命令使用jquery-ajax传递给php文件并在服务器上执行,并返回结果.通过创建div标签在浏览器上输出这些结果.

问题是我附加了div标签.正如我追加的那样,我的文本框似乎已经失去焦点,我必须向下滚动页面才能看到我正在键入的内容.

这是接收我在文本框中键入的命令的函数.

$(function() {
    $('#cmd').keydown(

    function(event) {
        if (event.keyCode == 13) {
            event.preventDefault(); /*you can call your function here*/
            var tmp = $(this).val();
            $('#cmd').val('');
            commands.push(tmp);

            MyFunction(tmp);
            /*still you can it here*/
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

此函数接收返回的值,并创建div标记.

function MyFunction(msg) {
    var cmdStr = msg;
    $.ajax({
        url: 'exec.php',
        dataType: 'text',
        data: {
            q: cmdStr
        },
        success: function(response) { 

    $('#output').append("<div class=type> www-data@ubuntu:~# " + cmdStr +"</div>" + "<div class=output>" + response + "</div>");
        }

    });

}
Run Code Online (Sandbox Code Playgroud)

mat*_*ven 15

试试这个:

success: function(response){
    $("#output").append("<div class=type> www-data@ubuntu:~# " + cmdStr +"</div>" + "<div class=output>" + response + "</div>");
    $("#cmd").focus(); //Wil focus your textbox
}
Run Code Online (Sandbox Code Playgroud)