У меня есть следующий код:
<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>
Это выше помещено в таблицу, где пользователь может поставить галочки и щелкнуть вышеуказанную команду linkLink, которая предназначена для открытия нового окна и отображениясодержимое, сгенерированное бэканом #{documentGen.generatePDF}
.
. Это работает, как и ожидалось, если i DON'T включает onclick="return checkSelected();"
.Если я включу его, то бэк никогда не вызывается, вместо этого я получаю новое окно, которое является дубликатом текущего.
Мне нужна эта функция JavaScript, чтобы проверить, что пользователь хотя бы установил 1 флажок, и в противном случае отобразить предупреждение.Функция Javascript работает нормально, и я вижу предупреждение, если не отмечен ни один флажок при щелчке commandLink.
Мой вопрос: почему onclick
строка портит то, что делает commandLink?Что я делаю неправильно?
ОБНОВЛЕНИЕ :
h:commandLink
находится внутри h:form
.Как упомянуто выше, ссылка на команду работает как положено БЕЗ onclick=....
.
Чтобы проверить, я изменил функцию javascript, вызываемую на onclick, на:
function testFunc() {
alert("GOT Here!")
return ture;
}
и в командной строке нажмите на: onclick="return testFunc();"
В результате я получаю предупреждение"Иди туда!"но, как и прежде, новое окно дублирует текущее окно, и backbean не вызывается.Удаление строки onclick исправляет результат (но для этого нужно установить функцию javascript для проверки наличия флажков).
В представлении исходного кода браузера разница между командной ссылкой без onclik и с onclick выглядит следующим образом:
<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>
Любая помощь будет оценена.Спасибо