2012-02-06 3 views

답변

2

첫 번째 텍스트 상자의 .keydown() 이벤트에 등록하고 키가 있다면 TAB 서블릿에 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입니다.

+0

? 첫 번째 텍스트 상자에 .keydown()을 말해 주실 수 있습니까? 데모를 랩 (머리글) – Tom

+0

@tom으로 보여 주시면 서블릿이 청취하도록 구성된 URL을 작성하게됩니다. 보통 그것의 이름. 먼저 서블릿이 작동하는지 확인하기 위해 브라우저 주소 표시 줄에서 URL을 호출하여 테스트하십시오. 그것이 첫 번째 단계입니다. 또한'랩 없음 (머리)'데모에 대한 나의 대답을보십시오. '$ (document) .ready (function() {...})'또는'$ (function() {...});'에 코드를 래핑하면됩니다. 이것은'.keydown' 이벤트 등록이 DOM이 완전히로드되고 모든 엘리먼트가 존재할 때에 만 일어날 것입니다. 이 스크립트를 닫는 ''바로 앞에두면 필요 없습니다. –

+0

예. 알았어. 대린 한테 의심 스럽네. 두 번째 텍스트 상자의 값을 bar로 받아 두 번째 텍스트 상자의 값을 넣을 수 있습니다. 혼란 스러울 때 .. – Tom

1

keycode을 사용하여 자바 스크립트에서 TAB 키 누르기를 캡처하십시오. 그런 다음 서블릿 호출 아약스 호출을 사용

아약스에 대한

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

+0

덕분에 선일를하는 데 도움이 ... URL 대신에, 내가 서블릿 이름을 작성합니다 thanks..but 좋은 포럼 – Tom

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); 
      } 
     });  
}); 

희망이 내가 그것을보고 ...

+0

감사합니다. Deepak ... i 위에 제공된 것을 사용했다. – Tom

관련 문제