Browse Source

* Add FormData class

michael 6 years ago
parent
commit
e2b9a878ad
1 changed files with 20 additions and 0 deletions
  1. 20 0
      packages/rtl/web.pas

+ 20 - 0
packages/rtl/web.pas

@@ -3397,6 +3397,26 @@ Type
   TJSHTMLAudioElement = Class external name 'HTMLAudioElement' (TJSHTMLMediaElement)
   end;
 
+  TJSFormDataEntryValue = String;
+  TJSFormDataEntryValueArray = Array of TJSFormDataEntryValue;
+
+  TJSFormData = Class external name 'FormData' (TJSObject)
+    constructor new;
+    constructor new(aForm : TJSHTMLElement);
+    Procedure append(const aName,aValue : String);
+    Procedure append(const aName : String; aBlob : TJSBlob);
+    Procedure delete(const aName : String);
+    Function entries : TJSFormDataEntryValueArray;
+    Function get(const aName : String): TJSFormDataEntryValue;
+    function has(const aName : String): Boolean;
+    Function keys : TStringDynArray; reintroduce;
+    Procedure set_(const aName,aValue : String); external name 'set';
+    Procedure set_(const aName : String; aBlob : TJSBlob); external name 'set';
+    Function getAll(const aName : String) : TJSFormDataEntryValueArray;
+    Function values : TJSValueDynArray;
+    Property Entry[aIndex : String] : TJSFormDataEntryValue read Get;
+  end;
+
 var
   document : TJSDocument; external name 'document';
   window : TJSWindow; external name 'window';