2011-09-22 6 views
0

간단한 JSF 양식이 있습니다.다른 버튼을 누를 때까지 제출 버튼을 비활성화하는 방법은 무엇입니까?

<h:form> 
    <h:inputText value="#{textBean.firstName}"/> 
    <h:inputText value="#{textBean.lastName}"/> 
    <h:commandButton value="confirm" action="textBean.confirm"/> 
    <h:commandButton value="submit" action="textBean.submit"/> 
</h:form> 

"제출"을 클릭하기 전에 "확인"버튼을 눌러야합니다. 그렇지 않으면 "제출"버튼 옆에 오류 메시지가 표시됩니다. 사용자는 확인을 위해 미리 누르지 않은 경우 제출 버튼을 클릭 할 수 없습니다. UI 계층에서이 작업을 수행하는 것이 좋습니다. 어떤 사람들은 이것에 대해 뭔가를 제안 할 수 있습니까?

답변

1

제출 단추를 클릭 할 때 확인 대화 상자가 사용자에게 표시되도록 논리를 변경하고자 할 수 있습니다. 이 같은 간단한 뭔가 :

<h:form> 
    <h:inputText value="#{textBean.firstName}"/> 
    <h:inputText value="#{textBean.lastName}"/> 
    <h:commandButton value="confirm" action="#{textBean.confirm}"/> 
    <h:commandButton value="submit" action="#{textBean.submit}" disabled="#{textBean.btnDisabled}"/> 
</h:form> 

: 그렇지 않으면 당신이 뭔가를/비활성화 할 수 위에서 언급 한 동작을 얻을 사용자가 확인 버튼을 클릭 할 때까지 버튼을 제출 숨기려면

<h:form> 
    <h:inputText value="#{textBean.firstName}"/> 
    <h:inputText value="#{textBean.lastName}"/> 
    <h:commandButton value="submit" action="#{textBean.submit}" onclick="return confirm('Confirm form submit?');"/> 
</h:form> 

비활성화 된 속성은 버튼을 숨기려면 렌더링 된 속성으로 바꿀 수 있습니다. 그것은 부울을 취합니다. 이 부울 변수는 확인 메소드에서 true로 설정하여 요청이 돌아 오면 버튼이 사용 가능하게됩니다.

관련 문제