Skip to content

Commit e7448c4

Browse files
committed
[Fix] multiple js compilation for form
1 parent a2ea10a commit e7448c4

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

Ajax/semantic/html/collections/form/traits/FormTrait.php

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ trait FormTrait{
2121
* @return HtmlForm
2222
*/
2323
abstract protected function getForm();
24+
25+
protected $_runnedParams=false;
2426

2527
protected function addCompoValidation(Form $compo,HtmlFormField $field){
2628
$validation=$field->getValidation();
@@ -37,16 +39,19 @@ protected function addExtraCompoValidation(Form $compo,FieldValidation $validati
3739
}
3840

3941
protected function _runValidationParams(Form &$compo,JsUtils $js=NULL){
40-
$form=$this->getForm();
41-
$params=$form->getValidationParams();
42-
if(isset($params["_ajaxSubmit"])){
43-
$compilation=$this->_compileAjaxSubmit($params["_ajaxSubmit"],$js);
44-
$this->onSuccess($compilation);
45-
$form->removeValidationParam("_ajaxSubmit");
42+
if(!$this->_runnedParams){
43+
$form=$this->getForm();
44+
$params=$form->getValidationParams();
45+
if(isset($params["_ajaxSubmit"])){
46+
$compilation=$this->_compileAjaxSubmit($params["_ajaxSubmit"],$js);
47+
$this->onSuccess($compilation);
48+
$form->removeValidationParam("_ajaxSubmit");
49+
}
50+
$compo->addParams($form->getValidationParams());
51+
$form->setBsComponent($compo);
52+
$form->addEventsOnRun($js);
53+
$this->_runnedParams=true;
4654
}
47-
$compo->addParams($form->getValidationParams());
48-
$form->setBsComponent($compo);
49-
$form->addEventsOnRun($js);
5055
}
5156

5257
protected function _compileAjaxSubmit($ajaxSubmit,JsUtils $js=null){

0 commit comments

Comments
 (0)