### An `iron-form` can submit both custom and native elements.

### You can submit a form in many different ways: by manually calling submit(), using a native button, or by wrapping a paper-button in a native button:

### To customize the request sent to the server, you can listen to the `iron-form-presubmit` event

### Example of an `iron-form` reacting to state changes.

This form will have the "Submit" button disabled until all fields are valid, and then show a spinner during submission.

### Example of using a native `form` to do a page redirect.

Since an `iron-form` submits its elements with an XHR, it cannot do a page redirect after submission. If you need one, you can use a native `form` element and submit all the custom elements using `hidden` inputs.