按TAB键从javascript调用servlet

时间:2012-02-06 07:03:34

标签: javascript jquery ajax servlets

我的jsp页面中有两个文本框。在用户按TAB键后在第一个文本框中输入数据后,自动控制将调用servlet(在javascript中)然后将填充第二个文本框。任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:2)

您可以订阅第一个文本框的.keydown()事件,如果密钥是TAB,则触发对servlet的AJAX请求:

$(function() {
    // subscribe to the keydown event
    $('#text1').keydown(function(e) {
        // when a key is pressed check if its code was 9 (TAB)
        if (e.which == 9) {
            // if TAB was pressed send an AJAX request
            // to the server passing it the currently 
            // entered value in the first textbox
            $.ajax({
                url: '/someservlet/',
                type: 'POST',
                data: { value: $(this).val() },
                success: function(result) {
                    // when the AJAX succeeds update the value of the 
                    // second textbox using the result returned by the server
                    // In this example we suppose that the servlet returns
                    // the following JSON: {"foo":"bar"}
                    $('#text2').val(result.foo);
                }
            });    
        }
    });
});

这是live demo

答案 1 :(得分:1)

使用TAB在javascript中抓取keycode键。然后使用ajax调用来调用servlet

有关ajax的更多信息

http://www.codeguru.com/forum/showthread.php?t=474951

答案 2 :(得分:1)

你可以尝试这个。只需调用您的函数,它将在第二个文本框模糊事件中填充第二个文本框。

$('#secondtextbox').blur(function() {
  $.ajax({
          url: '/someservlet/',
          type: 'POST',
          data: { value: $('#firsttestbox').val() },
          success: function(result) {
                // when the AJAX succeeds update the value of the 
                // second textbox using the result returned by the server
                // In this example we suppose that the servlet returns
                // the following JSON: {"foo":"bar"}
                $(this).val(result.foo);
            }
        });    
});

希望这有帮助