I가 다음 코드 평화 : 이것은 위의 사용자가 체크 박스를 체크하고 개방을 의미하는 것입니다 위의 CommandLink는을 클릭 할 수있는 테이블에 배치됩니다시간 : CommandLink는와의 onclick 자바 스크립트 기능
<DIV>
<h:commandLink action="#{documentGen.generatePDF}"
target="_blank"
onclick="return checkSelected();">
<h:graphicImage url="/images/pdf.jpg"
styleClass="pdfimage" title="Click to show PDF"></h:graphicImage>
</h:commandLink>
</DIV>
새 창에서 백 콩이 생성 한 콘텐츠를 표시합니다. #{documentGen.generatePDF}
.
이 경우 예상대로 작동합니다. 에 onclick="return checkSelected();"
이 포함되어 있습니다. 내가 그것을 포함한다면 백 콩은 결코 호출되지 않으며, 대신 현재의 복제본 인 새로운 창을 얻는다.
사용자가 적어도 1 체크 박스를 선택했는지 확인하려면 javascript 함수가 필요합니다. 그렇지 않으면 경고가 표시됩니다. Javascript 함수는 정상적으로 작동하며 commandLink가 클릭 될 때 아무 체크 상자에도 체크 표시가 없으면 경고를 봅니다.
제 질문은 왜 onclick
커맨드 링크가 무슨 일을합니까? 내가 도대체 뭘 잘못하고있는 겁니까?
UPDATE는 :
h:commandLink
는 h:form
안에. 위에서 언급 한 것처럼 명령 링크는 onclick=....
없이 예상대로 작동합니다. 에 클릭에
function testFunc() {
alert("GOT Here!")
return ture;
}
과 CommandLink는에 : 테스트하려면
는 난에 온 클릭에라는 자바 스크립트 함수를 변경! "여기 GOT"onclick="return testFunc();"
결과 내가 경고를 얻을 수있다 이전과 같이 새 창은 현재 창과 중복되며 백 콩은 호출되지 않습니다. onclick 줄을 제거하면 결과가 정정됩니다 (그러나 확인란이 선택되어 있는지 확인하려면 javascript 함수가 필요합니다). 브라우저 원본
가 onclik없이 온 클릭하여 CommandLink는 차이를 확인하면 아래와 같다 :
<a href="#" onclick="return oamSubmitForm('genView','genView:_idJsp33','_blank',[]);" id="genView:_idJsp33" target="_blank"><img src="/images/pdf.jpg" title="Click for Pdf Document" class="pdfimage"></a>
<a href="#" onclick="return testFunc();;return oamSubmitForm('genView','genView:_idJsp33','_blank',[]);" id="genView:_idJsp33" target="_blank"><img src="/images/pdf.jpg" title="Click for Pdf Document" class="pdfimage"></a>
어떤 도움이 인정 될 것이다. 당신이 CommandLink는의 onclick 이벤트에 false를 반환하는 경우 감사
정말 고맙습니다. – ke3pup