@@ -265,25 +265,21 @@ function FpJsCustomizeMethods() {
265
265
//noinspection JSCheckFunctionSignatures
266
266
FpJsFormValidator . each ( this , function ( item ) {
267
267
var element = item . jsFormValidator ;
268
- if ( event ) {
269
- event . preventDefault ( ) ;
270
- }
271
268
element . validateRecursively ( ) ;
272
- if ( FpJsFormValidator . ajax . queue ) {
273
- if ( event ) {
269
+ var submitCallback = function ( ) {
270
+ element . onValidate . apply ( element . domNode , [ FpJsFormValidator . getAllErrors ( element , { } ) , event ] ) ;
271
+ if ( ! element . isValid ( ) && event ) {
274
272
event . preventDefault ( ) ;
275
273
}
276
- FpJsFormValidator . ajax . callbacks . push ( function ( ) {
277
- element . onValidate . apply ( element . domNode , [ FpJsFormValidator . getAllErrors ( element , { } ) , event ] ) ;
278
- if ( element . isValid ( ) ) {
279
- element . submitForm . apply ( item , [ item ] ) ;
280
- }
281
- } ) ;
282
- } else {
283
- element . onValidate . apply ( element . domNode , [ FpJsFormValidator . getAllErrors ( element , { } ) , event ] ) ;
284
- if ( element . isValid ( ) ) {
274
+ if ( element . isValid ( ) && ! event ) {
275
+ // call submit only if the original submission was not trigerred by an event.
285
276
element . submitForm . apply ( item , [ item ] ) ;
286
277
}
278
+ } ;
279
+ if ( FpJsFormValidator . ajax . queue ) {
280
+ FpJsFormValidator . ajax . callbacks . push ( submitCallback ) ;
281
+ } else {
282
+ submitCallback ( ) ;
287
283
}
288
284
} ) ;
289
285
} ;
0 commit comments