내 JSP 페이지에 두 개의 텍스트 상자가 있습니다. 첫 번째 텍스트 상자에 데이터를 입력 한 후 Tab 키를 누르면 서블릿 (자바 스크립트)이 자동으로 제어되고 두 번째 텍스트 상자가 채워집니다. 어떤 도움을 주셔서 감사합니다.자바 스크립트에서 서블릿을 호출 할 때 Tab 키를 누름
답변
첫 번째 텍스트 상자의 .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입니다.
? 첫 번째 텍스트 상자에 .keydown()을 말해 주실 수 있습니까? 데모를 랩 (머리글) – Tom
@tom으로 보여 주시면 서블릿이 청취하도록 구성된 URL을 작성하게됩니다. 보통 그것의 이름. 먼저 서블릿이 작동하는지 확인하기 위해 브라우저 주소 표시 줄에서 URL을 호출하여 테스트하십시오. 그것이 첫 번째 단계입니다. 또한'랩 없음 (머리)'데모에 대한 나의 대답을보십시오. '$ (document) .ready (function() {...})'또는'$ (function() {...});'에 코드를 래핑하면됩니다. 이것은'.keydown' 이벤트 등록이 DOM이 완전히로드되고 모든 엘리먼트가 존재할 때에 만 일어날 것입니다. 이 스크립트를 닫는 '