PHPackages                             onedrop/ajaxform - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. onedrop/ajaxform

ActiveNeos-package[Utility &amp; Helpers](/categories/utility)

onedrop/ajaxform
================

Neos package that provides an additional Form prototype, Routes and JS to have Ajax forms

4.0.0(3y ago)77.8k—0%3[1 issues](https://github.com/1drop/Onedrop.AjaxForm/issues)1MITJavaScript

Since Sep 7Pushed 3y ago4 watchersCompare

[ Source](https://github.com/1drop/Onedrop.AjaxForm)[ Packagist](https://packagist.org/packages/onedrop/ajaxform)[ RSS](/packages/onedrop-ajaxform/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (22)Used By (1)

Onedrop.AjaxForm
================

[](#onedropajaxform)

This package provides an additional form element which can be used as a replacement of `Neos.NodeTypes:Form` to serve every form asynchronously via javascript.

It's built according to the principle of progressive enhancement and will fallback to the default behavior of the `Form` element.

This is especially useful if you serve your form inside a modal dialog or an accordion and the regular form causes a page reload which makes the confirmation message invisible to your user.

This package adds additional javascript to the end of the body of every page which provides the functionality.

**This javascript does not require jQuery, it's plain vanilla.**

Compatibility
-------------

[](#compatibility)

Neos VersionOnedrop.AjaxForm VersionNeos 3.x/4.x/5.x3.xNeos 2.3 LTS2.xHow-To:
-------

[](#how-to)

### Install:

[](#install)

Use the command `composer require onedrop/ajaxform` to add this package as a requirement to your Neos project.
(Or: Download the zip and unpack it to `Packages/Application/Onedrop.AjaxForm`)

### Routes.yaml:

[](#routesyaml)

It's no longer necessary to modify any `Routes.yaml` as it's deprecated. The additional Ajax-routes are now included via `Settings.yaml`.

Usage:
------

[](#usage)

### Fusion:

[](#fusion)

You can use the `Onedrop.AjaxForm:Form` Fusion object as a replacement for the regular `Neos.NodeTypes:Form`element e.g.

```
page = Page {
  body.parts.newsletterForm = Onedrop.AjaxForm:Form {
    formIdentifier = 'newsletter-form'
    presetName = 'bootstrap'
  }
}

```

### Content element:

[](#content-element)

This package provides a content element 'Ajax Form' which you can use as replacement for the regular 'Form' content element.
The easiest way is just to select your existing form element and change it's type in the settings tab of the selected content element to 'Ajax Form'.

JavaScript:
-----------

[](#javascript)

The form submission is handled via vanilla javascript.
This package automatically appends the necessary script to the end of the body of every `Neos.Neos:Page` where a form is placed.

If you use Grunt, Gulp or any other build system, you probably don't want this extra script, but include it in your build process, than you can remove this inclusion by changing the setting `Settings.yaml`:

```
Onedrop:
  AjaxForm:
    includeJavascript: true
```

JS Events
---------

[](#js-events)

You can use 2 events to register you event listens.

Before Send Ajax Form `Onedrop.AjaxForm:before`

After render Ajax Form to HTML `Onedrop.AjaxForm:after`

### Form reload

[](#form-reload)

As the content of your form is being replaced by the confirmation message you usually want the form to reset after the user has seen the confirmation (so that the form can be submitted a second time).

If you place an attribute `data-reset-form="1"` inside the confirmation message, the form is being resetted after 5 seconds.

E.g. `myform.yaml`

```
finishers:
  -
    identifier: 'Neos.Form:Confirmation'
    options:
      message: |

                  Thank you for your request
                  We will contact you asap.

```

### Use javascript out of context

[](#use-javascript-out-of-context)

The JS is also shaped for general purpose, you can wrap any form in a div to configure the form to be served over ajax. You must have a controller URL that only serves the HTML for the form you want to ajaxify.

```

```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~143 days

Recently: every ~348 days

Total

19

Last Release

1322d ago

Major Versions

1.0.2 → 2.02016-10-21

2.0.1 → 3.0.02017-01-31

3.5.0 → 4.0.02022-10-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/c9981d7d0fbccdbcdcabb31ab1c3db179c18de527d2f9cb73a8fc347a6b00bc9?d=identicon)[onedrop](/maintainers/onedrop)

---

Top Contributors

[![htuscher](https://avatars.githubusercontent.com/u/5076356?v=4)](https://github.com/htuscher "htuscher (6 commits)")[![simonschaufi](https://avatars.githubusercontent.com/u/941794?v=4)](https://github.com/simonschaufi "simonschaufi (4 commits)")[![caora](https://avatars.githubusercontent.com/u/6938413?v=4)](https://github.com/caora "caora (1 commits)")[![lcherpit](https://avatars.githubusercontent.com/u/490499?v=4)](https://github.com/lcherpit "lcherpit (1 commits)")

---

Tags

neos-pluginneoscms

### Embed Badge

![Health badge](/badges/onedrop-ajaxform/health.svg)

```
[![Health](https://phpackages.com/badges/onedrop-ajaxform/health.svg)](https://phpackages.com/packages/onedrop-ajaxform)
```

###  Alternatives

[sitegeist/monocle

An living-styleguide for Neos that is based on the actual fusion-code

45315.9k10](/packages/sitegeist-monocle)[sitegeist/kaleidoscope

Responsive-images for Neos

29352.4k10](/packages/sitegeist-kaleidoscope)[flowpack/listable

Tiny extension for listing things

35209.0k7](/packages/flowpack-listable)[kaufmanndigital/gdpr-cookieconsent

A ready-to-run package, that integrates an advanced cookie consent banner into your Neos CMS site.

2540.7k](/packages/kaufmanndigital-gdpr-cookieconsent)[neos/seo

SEO configuration and tools for Neos

13990.5k24](/packages/neos-seo)[shel/neos-colorpicker

A plugin for Neos CMS which provides a colorpicker editor

1494.4k6](/packages/shel-neos-colorpicker)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
