2011-10-28 4 views
1

바코드 스캐너로 채워지는 primefaces 입력에 대해 다음 jsf 코드가 있습니다. 각 스캔 후에 콩에서 뭔가를해야하고 입력을 지우고 다음 스캔을 위해 다시 초점을 맞 춥니 다. 지금까지 콩은 잘 동작하지만 명확하지는 않습니다. 아직 초점을 맞추기 시작하지 않았습니다. 어떤 아이디어?ajax 호출 후 입력 지우기

<p:inputText id="testInput" value="#{barcodeHelper.barcodeData}" onkeyup="if (event.keyCode == 13){onchange(); return false;}"> 
       <p:ajax listener="#{barcodeHelper.barListener()}" update="testInput" process="@this" event="change"/> 
      </p:inputText> 

는 청취자는이

public void barListener(){ 

    if(barcodeData.length() == 13){ 
     ean = barcodeData; 
     //Will do more 
    } 
    //other bar code Lengths will be dealt with maybe a switch is better 
    //clear the data just read 
    barcodeData = null; 
} 

내가 청취자 벌금에 도착하지만, 불행히도 update="testInput"이 작동하지 않습니다. 내가 여기서 무엇을 놓치고 있니? 당신의 도움을 주셔서 감사합니다.

+0

ajax 응답 본문은 무엇입니까? Firebug/Chrome을 사용하여 확인하십시오. – BalusC

+0

필자는 이전에 사용 해본 적이 없기 때문에 Firebug에서 머리를 쓰려고합니다. 나는 많은 유용한 데이터를 보았고 응답 함수를 볼 수는 있지만 응답이 무엇인지 알 수없는 것 같습니다. Java bean에서 응답을 설정해야합니까? – user845854

+0

방화범이 끌려 .. 와우, 천재의 작품. 응답이 비어 있음을 발견했습니다. 이게 문제 야? – user845854

답변

0

소스에 좀 더 자세한 정보를 게시하고 렌더링을 살펴볼 필요가 있습니다. 당신이 (다시, 야생 추측)이 경우 구성 요소에 대한 명시 적 경로 당신의 업데이 트를해야 할 수 있습니다 설정에 따라

<input id="j_1231:testInput" /> 

: 당신은 같은 (내 생각)을 볼 수 formId : 한 ComponentID 나 : subviewId : formId : componentId. 경로가 꺼져있는 경우 빠른 수정이 필요합니다. Balus의 의견

--per

콩 당신이 자바 스크립트 방법을 발사하는 Primefaces에게 콜백을 사용할 수있는 액션을 등록됩니다. http://www.primefaces.org/showcase/ui/callbackParams.jsf

+0

''은 ''과 동일한 명명 컨테이너 안에 있으므로 문제가되지 않아야합니다. – BalusC

+0

나는 다니엘이 접근법을 시도했지만 아무 소용이 없습니다. 위의 BalusCs의 응답을 고려할 때 업데이트 상태로 인해 업데이트가 호출되지 않는다고 생각합니다. 그러나 내가 oncomplete를 사용하여 javascript를 호출하려고 시도했을 때 함수에 도착했지만 document.getElementById ("myform : testInput) .value =" "콩 값이 대통령을 차지한다는 가정하에 그 모든 것은 매우 혼란 스럽습니다. – user845854