From e2b9a878ad2acc973d41f27516f03144e9838962 Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 24 Jul 2019 16:31:19 +0000 Subject: [PATCH] * Add FormData class --- packages/rtl/web.pas | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/rtl/web.pas b/packages/rtl/web.pas index bfb14d6..6a5653a 100644 --- a/packages/rtl/web.pas +++ b/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';