add form
This commit is contained in:
		
							
								
								
									
										27
									
								
								src/form/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/form/index.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| type FormValue<T = any> = {} & T; | ||||
| class From<T = any> { | ||||
|   formData: FormValue<T>; | ||||
|   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; | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user