# Submito > Vanilla JavaScript AJAX forms: live validation, captchas, phone input and response dialogs. Zero dependencies. Submito is a dependency-free browser library. `submito.newForm({ form: '#id' })` binds an existing HTML form to `fetch`: validation from HTML constraints (live while typing), a built-in response dialog (or SweetAlert2), math captcha, Google reCAPTCHA v3, Cloudflare Turnstile, intl-tel-input phone fields, and bubbling `submito:*` events on the form element. Endpoints reply with JSON such as `{ "status": "success", "message": "…" }`, or HTTP 422 with `{ "message": "…", "errors": [{ "name": "email", "message": "…" }] }`. The npm package ships TypeScript types (`types/index.d.ts`) and an agent skill for Claude Code, Cursor and Codex (`npx submito skill`). Every page below is plain Markdown. ## Introduction - [Getting started](/getting-started.md): Load submito and bind your first AJAX form. ## Guide - [Configuration](/configuration.md): Every option accepted by submito.newForm(). - [Forms & markup](/forms-and-markup.md): HTML conventions, supported controls, where errors go, and how to style them. - [Validation](/validation.md): Client-side validation from HTML constraints, live while the user types. - [Server responses](/server-responses.md): The JSON your endpoint should return, how submito reads it, and backend examples. - [Response UI](/response-ui.md): The built-in dialog, SweetAlert2, or no popup at all, and how to theme the dialog. - [Events & instance API](/events.md): submito events dispatched on each form, the callback option, and instance methods. ## Integrations - [Math captcha](/math-captcha.md): A zero-dependency "3 + 7 = ?" question to slow down simple bots. - [Google reCAPTCHA](/recaptcha.md): Send a reCAPTCHA v3 token with every submit and verify it on your server. - [Cloudflare Turnstile](/turnstile.md): Add a Cloudflare Turnstile token to submissions and verify it on your server. - [Phone numbers](/intl-tel-input.md): International phone input with E.164 output, country fields and validation via intl-tel-input. - [SweetAlert2](/sweetalert2.md): Show submito responses with SweetAlert2 instead of the built-in dialog. ## AI - [AI & agents](/ai.md): Use submito with coding agents through the agent skill, TypeScript types, llms.txt and Markdown pages. - [Agent skill](/agent-skill.md): Install the submito agent skill for Claude Code, Cursor and OpenAI Codex. ## More - [Internationalization](/internationalization.md): Built-in languages, language detection, and overriding any message. - [Security](/security.md): What submito does for safety, and what your server still has to do. ## Optional - [Full documentation](/llms-full.txt): every page above in one file - [Agent skill](/skills/submito/SKILL.md): instructions for coding agents, with references/api.md, references/integrations.md and references/server.md