handle old version of chrome with broken formdata
authorAlan Knowles <alan@roojs.com>
Tue, 10 Mar 2020 09:51:12 +0000 (17:51 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 10 Mar 2020 09:51:12 +0000 (17:51 +0800)
Roo/form/BasicForm.js

index 4f54688..e0948c9 100644 (file)
@@ -540,14 +540,20 @@ clientValidation  Boolean          Applies to submit only.  Pass true to call fo
         
         // use formdata
         if (typeof(FormData) != 'undefined' && asString !== true) {
-            var fd = (new FormData(this.el.dom)).entries();
-            var ret = {};
-            var ent = fd.next();
-            while (!ent.done) {
-                ret[ent.value[0]] = ent.value[1]; // not sure how this will handle duplicates..
-                ent = fd.next();
-            };
-            return ret;
+            // this relies on a 'recent' version of chrome apparently...
+            try {
+                var fd = (new FormData(this.el.dom)).entries();
+                var ret = {};
+                var ent = fd.next();
+                while (!ent.done) {
+                    ret[ent.value[0]] = ent.value[1]; // not sure how this will handle duplicates..
+                    ent = fd.next();
+                };
+                return ret;
+            } catch(e) {
+                
+            }
+            
         }