# seemple-parse-form

> Binds named fields of HTML5 form

Latest version **2.4.17** (published 2020-01-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install seemple-parse-form
pnpm add seemple-parse-form
yarn add seemple-parse-form
bun add seemple-parse-form
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.4.17 |
| Published | 2020-01-20 |
| First published | 2020-01-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Andrey Gubanov |
| Maintainers | finom |
| Keywords | seemplejs, codemirror |

## Links

- npm: https://www.npmjs.com/package/seemple-parse-form
- Repository: https://github.com/finom/seemple-parse-form
- Homepage: https://github.com/finom/seemple-parse-form#readme
- Issues: https://github.com/finom/seemple-parse-form/issues
- npm.io page: https://npm.io/package/seemple-parse-form

## Dependencies (1)

- [balajs](https://npm.io/package/balajs.md) ^1.0.7

## Recent versions

- 2.4.17 (latest) — 2020-01-20
- 2.4.16 — 2020-01-20
- 2.4.12 — 2020-01-18
- 2.4.11 — 2020-01-18
- 2.4.9 — 2020-01-18
- 2.4.4 — 2020-01-18

## README

# seemple-parse-form [![npm version](https://badge.fury.io/js/seemple-parse-form.svg)](https://badge.fury.io/js/seemple-parse-form)

The function binds named HTML form fields (input, select, textarea etc) contained at given HTML form to corresponding properties.

```html
<form class="my-form">
    <input type="text" value="foo" name="x">
</form>
```

```js
const object = {};
parseForm(object, '.my-form');

// ...
console.log(object.x); // 'foo'
object.x = 'bar'; // changes input value to 'bar'
```

## Usage

In **browser environment** (or whatever environment where ``Seemple`` is global variable)  ``Seemple`` is extended.
```html
<script src="path/to/seemple-parse-form.min.js"></script>
```

```js
Seemple.parseForm(object, form);
```

The bundle can be downloaded at [gh-pages branch](https://github.com/finom/seemple/tree/gh-pages)

-------------

In **CJS environment** ``Seemple`` is not extended.

```
npm install seemple-parse-form
```

```js
const parseForm = require('seemple-parse-form');
```


## API

The function accepts 4 arguments:
- ``object`` - an object (required)
- ``form`` - a selector, DOM node etc. of given form (custom selectors ``:sandbox`` and ``:bound(XXX)`` also acceptable) (required)
- ``callback`` - a function which will be called on every found field; accepts field name and field element itself
- ``eventOptions`` - event options which will be passed to every internal call of ``bindNode``.

Returns: parsed form element.


The third argument is useful when ``parseForm`` is used with ``Seemple.Object``: you can call ``addDataKeys`` method there.
```js
const form = parseForm(this, ':sandbox .foo', key => this.addDataKeys(key), {
    getValueOnBind: false
});
```

---
_Source: https://npm.io/package/seemple-parse-form · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
