【发布时间】:2016-07-09 14:40:26
【问题描述】:
当我点击提交按钮时,我的 jQuery 函数永远不会被调用。
不过,如果我删除 h:commandButton 处的 f:ajax 行,jQuery 会检测到点击。
我怎样才能使它与 f:ajax 和我的 jQuery 函数一起工作?
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>
Javascript:
jQuery(document).ready(function() {
jQuery('input[id*="submit-button"]').click(function() {
console.log("button clicked");
}); });
【问题讨论】:
-
查看呈现的响应。提交按钮的 id 应该在前面加上相应的父组件的 id,例如
form:submit-buttom(除非与<h:form>关联的prependId设置为 false,这反过来又不推荐)。 -
我已经尝试过使用
form:submit-buttom语法。正如我所说,只有当我删除<f:ajax>行时,jQuery 才会检测到点击。看起来问题来自 ajax... -
为什么不用
<h:commandButton>的onclick属性来调用js函数呢?