2013-08-30 6 views
0

С простой формой, когда я отправляю, я вижу 2 запроса для этого.Почему 2 вызова Ajax сделаны a4j

<h:form id="form1"> 
    <a4j:commandButton value="Send" id="cm1" onclick="sendData(193)"/> 
    <a4j:jsFunction name="sendData"> 
     <a4j:param name="param1" assignTo="#{outageManagementAction.deleteEngineId}" /> 
    </a4j:jsFunction> 
    </h:form> 

Код, сгенерированный JSF является следующее ...

<form id="form1" name="form1" method="post" action="/moutagev1/faces/pages/xOutageEdit.xhtml" enctype="application/x-www-form-urlencoded"> 
<input type="hidden" name="form1" value="form1" /> 
<input id="form1:cm1" name="form1:cm1" onclick="jsf.util.chain(this,event,&quot;sendData(193)&quot;,&quot;RichFaces.ajax(\&quot;form1:cm1\&quot;,event,{\&quot;incId\&quot;:\&quot;1\&quot;})&quot;);return false;" value="Send" type="submit" /><span id="form1:j_idt257" style="display: none;"><script type="text/javascript">sendData=function(param1){RichFaces.ajax("form1:j_idt257",null,{"parameters":{"param1":param1} ,"incId":"1"})};</script></span><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="8425501786648002013:2772799535475824519" autocomplete="off" /> 
</form> 

Любая идея, почему это происходит ...

+0

вы можете изменить командную кнопку, как это: '<ч: CommandButton значение = "Отправить" ID = "СМ1" OnClick = "SendData (193); возвращение ложным;"/> ' –

ответ

0

Ну, один запрос стандартный пост <h:form> вторая один из них - это обычай <a4j:jsFunction>, который соединен вместе с подачей, когда происходит щелчок.

Одним из решений было бы подавить стандартную подачу, изменив тип кнопки следующим образом: <a4j:commandButton type="button" />.

Другой вариант - не использовать <a4j:jsFunction>. Вместо того, чтобы использовать эту функцию:

<f:setPropertyActionListener target="#{outageManagementAction.deleteEngineId}" value="193" /> 

 Смежные вопросы

  • Нет связанных вопросов^_^