2016-07-09 3 views
1

제출 버튼을 클릭하면 내 jQuery 함수가 호출되지 않습니다. 있는 명령 : 시간에 아약스 라인 :jQuery와 f : ajax 사이의 충돌

는 Nevetheless는, jQuery를 내가 F를 제거하면 클릭을 감지합니다.

어떻게 작동합니까? f : ajaxjQuery이 함께 작동합니까?

XHTML :

<h:form> 
    <!-- my inputs--> 
    <h:commandButton id="submit-button" type="button" value="Confirm" > 
     <f:param name="id" value="#{param.id}" /> 
     <f:ajax execute="@form" render="@none" /> 
    </h:commandButton> 
</h:form> 

자바 스크립트 :

jQuery(document).ready(function() { 
jQuery('input[id*="submit-button"]').click(function() { 
    console.log("button clicked"); 
}); }); 
+0

렌더링 된 응답을 살펴보십시오. submit 버튼의 id는'form : submit-buttom'과 같은 부모 컴포넌트의 id 앞에 붙여야합니다 (' '과 연관된'prependId'가 false로 설정되어 있지 않으면, 권장되지 않습니다). – Tiny

+0

나는'form : submit-buttom' 구문으로 이미 시도해 보았습니다. 앞에서 말한 것처럼 jQuery는 ''줄을 제거해야만 클릭을 감지합니다. 아약스에서 오는 문제처럼 보입니다 ... –

+0

js 함수를 호출하기 위해' '의'onclick' 속성을 사용하지 않는 이유는 무엇입니까? – whitesite

답변

0

내가 주석으로이 쓰기,하지만 너무 오래, 그래서 내가 대답 여기를 작성합니다.

난 당신이 전에 JS-오류가 추측 : 그 JS-ERROR가 후 작동하지 않습니다

// prior this code you could have a JS Error  
jQuery(document).ready(function() { 
    jQuery('input[id*="submit-button"]').click(function() { 
     console.log("button clicked"); 
    }); 
}); 

그래서 모든 JS 코드.

가능한 원인은 xhtml의 missConfiguration 일 수 있습니다. JSF-Ajax 호출이 작동하지 않는다고 가정합니다. <h:head></h:head>을 xhtml에 포함시키지 않으면 발생합니다.

<h:head></h:head> 아약스가 제대로 작동하려면 태그가 포함되어야합니다.

귀하의 경우 : ajax 요청을하려고합니다. JSF가 jsf.js를 xhtml 헤더에로드 할 수 없어 JavaScript 오류가 발생하고이 오류 발생 후 모든 것이 발생합니다 제대로 작동하지 않습니다.