From 6ef9545b183970be04989d65dc63b3f02e297c24 Mon Sep 17 00:00:00 2001 From: xion Date: Sun, 8 Dec 2024 23:01:07 +0800 Subject: [PATCH] add form --- src/form/index.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/form/index.ts diff --git a/src/form/index.ts b/src/form/index.ts new file mode 100644 index 0000000..a1d8c4a --- /dev/null +++ b/src/form/index.ts @@ -0,0 +1,27 @@ +type FormValue = {} & T; +class From { + formData: FormValue; + form: HTMLFormElement; + constructor() { + console.log('From'); + } + getValues() { + return this.formData; + } + listen() { + this.form.addEventListener('submit', this.handleSubmit.bind(this)); + } + handleSubmit(event: Event) { + event.preventDefault(); + const formData = new FormData(this.form); + const values = Object.fromEntries(formData.entries()); + // this.formData = values; + } + onChanges() { + this.form.addEventListener('change', this.handleChange.bind(this)); + } + handleChange(event: Event) { + const target = event.target as HTMLInputElement; + this.formData[target.name] = target.value; + } +}