2011-09-19 5 views
0

h : 또는 a4j : commanButton을 실행하는 자바 스크립트 기능이 있습니다. 자바 스크립트 함수가 호출되면 액션 버튼이 액션을 실행하지만 그 페이지가 리다이렉션되지 않습니다. Seam 2.2 및 RichFaces 3.3.3을 사용하고 있습니다. 여기에 어떤 문제가 있습니까? 감사.JavaScript로 JSF/RichFaces commandButton이 리디렉션되지 않습니다.

function submitForm(){ 
     document.getElementById('myForm:save').click(); 

     // does not redirect. 
     //document.getElementById('myForm').submit(); 
     } 

submit() 페이지를 사용하더라도 리디렉션되지 않습니다.

형태 :

document.getElementById('myForm:save').click(); 

을 때 버튼이 문제의 형태의 버튼입니다 : 지점에

<h:form id="myForm"> 
//some fields 

<h:commandButton id="save" value="Save" 
         action="#{personHome.persist}" /> 

</h:form> 

답변

0

, 다음 <h:commandButton>을 위해 일해야

document.getElementById('myForm').submit(); 

생성 된 클라이언트 ID가 getElementById()에 지정한 ID와 정확히 일치하는지 확인하십시오. <h:form> 자체가 다른 UINamingContainer 구성 요소에 중첩되어 있으면 해당 ID 앞에 ID가 추가됩니다. 브라우저에서 오른쪽 버튼을 클릭하고 소스보기을 확인하십시오.

구체적인 문제에 관해서는이 기능을 다른 버튼에 연결 한 다음 자체적으로 어떤 형식을 제출하여 두 가지 요청이 경쟁 조건이 될 수도 있습니다. 그러면 발신자의 기본 동작을 차단하는 기능 이후 또는 이후에 return false;을 입력해야합니다. 예 :

function submitForm(){ 
    // ... 

    return false; 
} 
+0

<h:commandButton onclick="return submitForm();" /> 

대단히 감사합니다! a4j : h : commandButton에서도 작동했습니다. – Yakari

관련 문제