JSF commandLink onclick无效,但commandButton是?

时间:2015-10-23 14:26:39

标签: javascript java html jsf

我正在使用JSF并实现了一个JS函数,当单击commandLinks和Buttons时会调用该函数。如果多次单击链接/按钮,该功能用于防止多次提交。问题是它适用于所有按钮和一些链接,即使它在被点击时总是被调用:S这是JS函数:

var formSubmitted = false;
function onSubmit() { 
    if (!formSubmitted) {
        formSubmitted = true;
    } else {        
        event.preventDefault();
    }
}

以下是工作按钮的示例:

<h:commandButton onclick="onSubmit()" value="#{Buttons.andraVGU}" rendered="#{vardgivareVGBean.visaAndraVgu}"
action="#{vardgivareVGBean.actionAndraVGU}" />

这是一个链接示例,它会调用函数但仍然给我一个例外。

<h:commandLink value=""
  onclick="onSubmit()"
  action="#{forslagTillaggBulkBean.oppnaFastTillagg}"
  onmouseover="onMouseOverTableRow(this); return false"
  onmouseout="onMouseOutTableRow(this); return false"
  disabled="#{forslagTillagg.tillaggTypAsString=='TILL'}">
<h:outputText escape="false" value="#{forslagTillagg.uppdrag}"
  styleClass="#{forslagTillagg.status != 'N' ? 'farg' : 'greyedout'}" />
    <f:param name="fastTillaggID"
    value="#{forslagTillagg.fastTillaggID}" />
  <f:param name="fastTillaggGiltigt"
    value="#{forslagTillagg.tillaggTypGiltig}" />
</h:commandLink>

这是一个有效的commandLink:

<h:commandLink onclick="onSubmit()" value=""
  actionListener="#{oversiktBean.valjFakturaRad}"
  onmouseover="onMouseOverTableRow(this); return false"
  onmouseout="onMouseOutTableRow(this); return false">

我意识到链接之间的一个区别是那些不起作用的链接有嵌套标签,但我不明白为什么会导致问题。

我真的很感谢有经验的家伙的解释! 谢谢!

0 个答案:

没有答案