api-docs/docs/node-tracker/markdown/node-tracker.formfocusorchangeevent.md
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@snowplow/node-tracker](./node-tracker.md) > [FormFocusOrChangeEvent](./node-tracker.formfocusorchangeevent.md)
## FormFocusOrChangeEvent interface
Represents either a Form Focus or Form Change event When a user focuses on a form element or when a user makes a change to a form element.
<b>Signature:</b>
```typescript
interface FormFocusOrChangeEvent
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [elementClasses?](./node-tracker.formfocusorchangeevent.elementclasses.md) | Array<string> \| null | <i>(Optional)</i> The class names on the element |
| [elementId](./node-tracker.formfocusorchangeevent.elementid.md) | string | The element ID which the user is interacting with |
| [formId](./node-tracker.formfocusorchangeevent.formid.md) | string | The ID of the form which the element belongs to |
| [nodeName](./node-tracker.formfocusorchangeevent.nodename.md) | string | The name of the node ("INPUT", "TEXTAREA", "SELECT") |
| [schema](./node-tracker.formfocusorchangeevent.schema.md) | "change\_form" \| "focus\_form" | The schema which will be used for the event |
| [type?](./node-tracker.formfocusorchangeevent.type.md) | string \| null | <i>(Optional)</i> The type of element (e.g. "datetime", "text", "radio", etc.) |
| [value](./node-tracker.formfocusorchangeevent.value.md) | string \| null | The value of the element at the time of the event firing |