File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -18,10 +18,21 @@ define([
18
18
'form' ,
19
19
function ( e ) {
20
20
var formKeyElement ,
21
+ existingFormKeyElement ,
22
+ isKeyPresentInForm ,
21
23
form = $ ( e . target ) ,
22
24
formKey = $ ( 'input[name="form_key"]' ) . val ( ) ;
23
25
24
- if ( formKey && ! form . find ( 'input[name="form_key"]' ) . length && form [ 0 ] . method !== 'get' ) {
26
+ existingFormKeyElement = form . find ( 'input[name="form_key"]' ) ;
27
+ isKeyPresentInForm = existingFormKeyElement . length ;
28
+
29
+ /* Verifies that existing auto-added form key is a direct form child element,
30
+ protection from a case when one form contains another form. */
31
+ if ( isKeyPresentInForm && existingFormKeyElement . attr ( 'auto-added-form-key' ) === '1' ) {
32
+ isKeyPresentInForm = form . find ( '> input[name="form_key"]' ) . length ;
33
+ }
34
+
35
+ if ( formKey && ! isKeyPresentInForm && form [ 0 ] . method !== 'get' ) {
25
36
formKeyElement = document . createElement ( 'input' ) ;
26
37
formKeyElement . setAttribute ( 'type' , 'hidden' ) ;
27
38
formKeyElement . setAttribute ( 'name' , 'form_key' ) ;
You can’t perform that action at this time.
0 commit comments