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; + } +}