
FetchIt
Lightweight AJAX form submission in MODX via the Fetch API on top of FormIt or a custom snippet


Example for Bulma:
<form>
<div class="field">
<label class="label">Username</label>
<div class="control">
<input class="input" type="text" name="name" value="">
</div>
<p class="help is-danger"></p>
</div>
<div class="field">
<label class="label">Email</label>
<div class="control">
<input class="input" type="email" name="email" value="">
</div>
<p class="help is-danger"></p>
</div>
<div class="field is-grouped">
<div class="control">
<button type="submit" class="button is-link">Submit</button>
</div>
<div class="control">
<button type="reset" class="button is-link is-light">Cancel</button>
</div>
</div>
</form>Steps:
data-error for field error text.[data-success] and [data-validation-error] for AJAX form messages.fetchit.frontend.input.invalid.class to is-danger.Информация
Set action to the page URL.
<form>
<form action="[[~[[*id]]]]" method="post">
<div class="field">
<label class="label">Username</label>
<div class="control">
<input class="input" type="text" name="name" value="">
<input class="input" type="text" name="name" value="[[+fi.name]]">
</div>
<p class="help is-danger"></p>
<p class="help is-danger" data-error="name">[[+fi.error.name]]</p>
</div>
<div class="field">
<label class="label">Email</label>
<div class="control">
<input class="input" type="email" name="email" value="">
<input class="input" type="email" name="email" value="[[+fi.email]]">
</div>
<p class="help is-danger"></p>
<p class="help is-danger" data-error="email">[[+fi.error.email]]</p>
</div>
<div class="notification is-success" role="alert" data-success style="display: none;"></div>
<div class="notification is-danger" role="alert" data-validation-error style="display: none;"></div>
<div class="field is-grouped">
<div class="control">
<button type="submit" class="button is-link">Submit</button>
</div>
<div class="control">
<button type="reset" class="button is-link is-light">Cancel</button>
</div>
</div>
</form><form>
<form action="{$_modx->resource.id | url}" method="post">
<div class="field">
<label class="label">Username</label>
<div class="control">
<input class="input" type="text" name="name" value="">
<input class="input" type="text" name="name" value="{$_modx->getPlaceholder('fi.name')}">
</div>
<p class="help is-danger"></p>
<p class="help is-danger" data-error="name">{$_modx->getPlaceholder('fi.error.name')}</p>
</div>
<div class="field">
<label class="label">Email</label>
<div class="control">
<input class="input" type="email" name="email" value="">
<input class="input" type="email" name="email" value="{$_modx->getPlaceholder('fi.email')}">
</div>
<p class="help is-danger"></p>
<p class="help is-danger" data-error="email">{$_modx->getPlaceholder('fi.error.email')}</p>
</div>
<div class="notification is-success" role="alert" data-success style="display: none;"></div>
<div class="notification is-danger" role="alert" data-validation-error style="display: none;"></div>
<div class="field is-grouped">
<div class="control">
<button type="submit" class="button is-link">Submit</button>
</div>
<div class="control">
<button type="reset" class="button is-link is-light">Cancel</button>
</div>
</div>
</form>