webcito / jquery-form
轻松处理表单的方式
v1.0.0
2024-04-19 10:50 UTC
Requires
- components/jquery: 3.6.0
- twbs/bootstrap: >=5.2.0
README
jQuery 表单插件
需求
- bootstrap >= 5.0
- jQuery >= 3.6
用法
<form action="/path/to/action" method="post" id="form_example"> <input type="text" required class="form-control" name="name"> </form> <script src="dist/jquery.form.js"></script> <script> $('#form_example').form(options); </script>
选项
const DEFAULTS = { autocomplete: false, // Sets all input fields to autocomplete off resetOnModalHidden: true, // If the form element is in a modal, it will be reset after the modal is hidden onBeforeSend: function(form, xhr){}, onSuccess: function(form, response){}, onError: function(form, errors){}, onComplete: function(form, response){}, onCleared: function(form){}, onReset: function(event, form){}, onInit: function(form){}, }
事件
$(document) .on('success', '#form_example', function (event, $form, responseJSON) { // do something }) .on('error', '#form_example', function (event, $form, responseJSON, xhr) { // do something }) .on('beforeSend', '#form_example', function (event, xhr, $form, aborted) { // do something }) .on('complete', '#form_example', function (event, $form, responseJSON) { // do something }) .on('cleared', '#form_example', function (event, $form) { // do something }) .on('resetting', '#form_example', function (event, $form) { // do something }) .on('init', '#form_example', function (event, $form) { // do something }) .on('error', '#form_example [name="name"]', function (e, $inputElement, message) { // do something }) .on('any', '#form_example', function (e, eventName) { // do something });
方法
const form = $('form').form('setErrors', {email: 'not valid', password: 'is required'});
错误处理
插件期望错误信息为 JSON 对象。
键必须与输入名称字段匹配,值应包含错误信息。
示例
{ "first_name": "This field must not be empty", "email": "This is not a valid email address", "password_repeat": "The password repetition does not match" }
如果错误返回正确,插件将在正确位置显示错误信息
并且输入字段将被标记为无效。