1e41f4b71Sopenharmony_ci# form 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci> **NOTE** 4e41f4b71Sopenharmony_ci> 5e41f4b71Sopenharmony_ci> This component is supported since API version 6. Updates will be marked with a superscript to indicate their earliest API version. 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciThe **\<form>** component allows the content in **input** elements to be submitted and reset. 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci## Required Permissions 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ciNone 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci## Child Components 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ciSupported 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci## Attributes 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ciThe [universal attributes](js-components-common-attributes.md) are supported. 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci## Styles 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ciThe [universal styles](js-components-common-styles.md) are supported. 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci## Events 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ciIn addition to the [universal events](js-components-common-events.md), the following events are supported. 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci| Name| Parameter| Description| 35e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 36e41f4b71Sopenharmony_ci| submit | FormResult | Triggered when the **Submit** button is touched.| 37e41f4b71Sopenharmony_ci| reset | - | Triggered when the **Reset** button is clicked.| 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci**Table 1** FormResult 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci| Name| Type| Description| 42e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 43e41f4b71Sopenharmony_ci| value | Object | Values of **name** and **value** of the input element.| 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci## Methods 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ciThe [universal methods](js-components-common-methods.md) are supported. 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci## Example 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci```html 54e41f4b71Sopenharmony_ci<!-- xxx.hml --> 55e41f4b71Sopenharmony_ci<form onsubmit='onSubmit' onreset='onReset'> 56e41f4b71Sopenharmony_ci <div style="width: 600px;height: 150px;flex-direction: row;justify-content: space-around;"> 57e41f4b71Sopenharmony_ci <label>Option 1</label> 58e41f4b71Sopenharmony_ci <input type='radio' name='radioGroup' value='radio1'></input> 59e41f4b71Sopenharmony_ci <label>Option 2</label> 60e41f4b71Sopenharmony_ci <input type='radio' name='radioGroup' value='radio2'></input> 61e41f4b71Sopenharmony_ci </div> 62e41f4b71Sopenharmony_ci <text style="margin-left: 50px;margin-bottom: 50px;">Enter text</text> 63e41f4b71Sopenharmony_ci <input type='text' name='user'></input> 64e41f4b71Sopenharmony_ci <div style="width: 600px;height: 150px;margin-top: 50px;flex-direction: row;justify-content: space-around;"> 65e41f4b71Sopenharmony_ci <input type='submit'>Submit</input> 66e41f4b71Sopenharmony_ci <input type='reset'>Reset</input> 67e41f4b71Sopenharmony_ci </div> 68e41f4b71Sopenharmony_ci</form> 69e41f4b71Sopenharmony_ci``` 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci```js 72e41f4b71Sopenharmony_ci// xxx.js 73e41f4b71Sopenharmony_ciexport default{ 74e41f4b71Sopenharmony_ci onSubmit(result) { 75e41f4b71Sopenharmony_ci console.log(result.value.radioGroup) // radio1 or radio2 76e41f4b71Sopenharmony_ci console.log(result.value.user) // text input value 77e41f4b71Sopenharmony_ci }, 78e41f4b71Sopenharmony_ci onReset() { 79e41f4b71Sopenharmony_ci console.log('reset all value') 80e41f4b71Sopenharmony_ci } 81e41f4b71Sopenharmony_ci} 82e41f4b71Sopenharmony_ci``` 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci 85