2009-08-31 5 views

답변

1

(사용자 의견에 따라) 서버 측의 유효성을 검사하려면 Richfaces과 같은 Ajax 라이브러리를 살펴 봐야합니다. 당신은 Ajax 호출은 서버 측에서 모델을 업데이트 할 텍스트를 변경하는 경우

당신은 쉽게 입력 필드

<h:inputText id="myInput" value="#{myBean.myValue}"> 
    <a4j:support event="onchange" ajaxSingle="true"/> 
</h:inputText> 

에 아약스 호출을 추가 할 수 있습니다. validator가있는 경우 inputText 태그에 추가하거나 support 태그의 action 속성을 사용하여 다른 메서드를 호출 할 수 있습니다.

+0

와우! 그것이 밝혀지면서, 나는 richfaces를 사용하고 있습니다. 나는 지금이 기회를 줄 것이다 ... – Ben

+0

이것은 작동한다! 도움을 많이 주셔서 감사합니다! 그러나 나는 단발 무늬 하나를 가지고있다. 확인 프롬프트가 표시되는 입력란을 변경하면 (많은 입력란을 함께 확인해야하므로 '저장'버튼을 클릭 할 때 발생 함) 저장 버튼으로 바로 이동하면 프롬프트가 나타나지 않습니다. 그러나 다른 필드 (포커스를 잃고 따라서 모델 업데이트가 발생 함)를 클릭 한 다음 저장을 클릭하면 확인 메시지가 표시됩니다. 그래서 문제는 저장 버튼에 어떻게 든 블러를 사용할 수 있습니까? (나는 이미 프롬프트를 위해 onClick을 사용하고있다.) – Ben

+0

나는 당신이 무슨 뜻인지 정말로 모르겠다. 확인 프롬프트가 나타나는 이유는 무엇입니까? – Damo

1

난 정말 당신이 코드에 대한 ...

찾고있는 것을 이해하지 않는다 :

<h:form id="myForm"> 
    <h:inputText id="myInput" value="#{myBean.myValue}"/> 

입력 필드의 값에 HTML 페이지의 작성은 myValue bean의 값 myBean의 값과 같습니다.

사용자가 값을 변경하면 JSF는 양식을 제출할 때 myBean.myValue의 값을 자동으로 업데이트합니다.

<script type="text/javascript"> 
    function getInputTextValue() { 
     var valueOfInput = document.getElementById("myForm:myInput").value; 
    } 
</script> 

참고가의 ID로 ID를 앞에해야합니다 당신은 자바 스크립트를 사용하여 즉, 클라이언트 측의 입력 값을 얻을 필요가있는 경우

, 당신은 다음 코드를 할 필요가 양식 ("** myForm : ** myInput")을 포함하는 양식.

+0

철저한 답변을 보내 주셔서 감사합니다. 기본적으로, 내가해야 할 일은 입력을 받아 서버 측의 유효성을 검사하는 것이다. 그런 다음 유효성 검사에 실패하면 사용자에게 경고 대화를주고 싶습니다. 자바 스크립트를 사용하는 것이 가장 쉬운 방법 인 것 같습니다. 이제는 javascript로 필드의 현재 값을 얻는 방법을 알았으니, bean 메소드를 호출하고 반환 값을 가지고 뭔가를 할 수있는 방법이 있는지 살펴 보겠습니다. – Ben