이벤트를 합치는 것처럼 들리는데, 예를 들어이 (가) 잠시 대기하여 ajax 요청을 시작하고 포인트에 입력 된 입력이 포함됩니다. 그러나 각 문자 을 입력하면 아약스 요청을 발생시키지 않습니다.
<h:inputText onkeyup="keyupHandler();"/>
...
<script>
var keystrokeTimeout;
keyupHandler = function(event) {
var minChars = 4;
var len = $(this).val().length;
if((len != 0) && (len < minChars)) {
return;
}
var ajaxRequest = function() {
jsf.ajax.request('results', null, {
execute: 'results',
render: 'results'
});
}
clearTimeout(keystrokeTimeout);
keystrokeTimeout = setTimeout(ajaxRequest, 500); // millisecs
}
</script>
원격으로 원하는대로 할 수 있습니까?
편집 : 또 다른 제안은 Richfaces 4 a4j : 대기열 기능을 체크 아웃하는 것입니다. 예를 들어 이 키보드에 기대어있는 경우 키 업 시나리오에서 이벤트를 결합 할 수 있습니다. 현재 Ajax 요청이 하나만 완료되면 요청이 전송됩니다. 요청 지연을 지정하고 오래된 응답을 무시할 수도 있습니다. 응답. Richfaces가하지 않은 큰 실수 (primefaces가 만드는)는 RF가 JSF 구현과 동일한 기본 대기열을 사용하기 때문에 순서가 잘못된 처리 이 발생하지 않는다는 것입니다.
이 라이브러리를 아직 사용하고 있지 않다면 받아 들여야 할 작은 단계가 아닙니다.
감사합니다. 오버 스티어 덕분에, 그 동안 내가 결국 끝내게되었습니다 ^^. 며칠 내에 더 나은 솔루션이 게시되지 않으면 나는 그것을 고수하고 현상금을 수여 할 것입니다. – kgautron