dlepera88-jquery/jquery-form-ajax
Composer 安装命令:
composer require dlepera88-jquery/jquery-form-ajax
包简介
README 文档
README
Realizar o submit de um formulário via AJAX (jQuery).
Pré-requisitos
Esse plugin necessita do jQuery (https://jquery.com/).
Funcionalidades
- Submit do formulário via AJAX
- Envio de arquivos para upload via AJAX
- Validação adicional de campos
- Submit alternativo do formulário
- Simulação do antigo evento beforesubmit
Opções
validar_invisiveis
boolean default false
Define se o plugin deve permitir a validação dos controles do formulário que não sejam visíveis. Quando false, desativa os campos invisíveis para evitar a validação.
ATENÇÃO: essa funcionalidade é incluída no evento click do botão submit. Caso o formulário não tenha um botão submit, essa configuração não funcionará.
var $meu_form = $('#meu-form'); $meu_form.formAjax({validar_invisiveis:true}); $meu_form.formAjax({validar_invisiveis:false});
func_antes
function default null
Função a ser executada antes do submit do form. Ela simula o comportamento do antigo evento beforesubmit. Se ela retornar false, interrompe o submit do formulário.
Obs: Essa função recebe o DOM do seu formulário como parâmetro.
Exemplo de função 'func_antes':
function (form) { /* Aqui eu faço o que eu quiser com o DOM do form e / ou aplico a lógica que eu precisar */ // Obrigatóriamente denho que retornar boolean: // true: procede com o submit // false: interrompe o evento return true/false; }
$('#meu-form').formAjax({ func_antes: function () { return confirm('Tem certeza que deseja enviar essas informações?'); } });
func_depois
function default null
Função a ser executada após o submit do formulário. Recebe como primeiro parâmetro o retorno do submit, possibilitando o tratamento e exibição do retorno. O segundo parâmetro que essa função recebe é o DOM do seu formulário como parâmetro. Não precisa retornar nada.
Exemplo de função 'func_depois':
function (retorno, form) { /* Aqui eu faço o que eu quiser com o retorno e o DOM do form */ }
$('#meu-form').formAjax({ func_depois: function (retorno) { alert(retorno); } });
Exemplos
Realizando um submit alternativo do formulário
Esse plugin permite que as informações sejam submetidas para diferentes actions com diferentes configurações. Essa funcionalidade simula a especificação do HTML5 para buttons mas que funciona apenas em navegadores muito recentes e não foi completamente imlementada ainda: https://www.w3schools.com/tags/att_button_formaction.asp
<form id="meu-form" action="pagina1.php" method="post"> <input type="text" name="infos required"/> <button type="submit">Envio padrão</button> <button type="button" id="btn-alternativo">Envio alternativo</button> </form> <script> // Aqui eu configuro o formulário para usar o plugin $('#meu-form').formAjax(); // Agora eu configuro o botão 'Envio alternativo' para alterar o submit do form $('#btn-alternativo').on('click', function () { #('#meu-form').formAjax('submit-alternativo', { acao: 'pagina2.php' }); }); </script>
Incluindo validação adicional em um determinado campo
Para incluir uma validação adicional em um determinado campo, deve-se utilizar o parâmetro data-vld-func em conjunto com data-vld-msg, onde:
data-vld-func deve receber o nome da função a ser utilizada para a validação. Essa função deve retornar um valor booleano e sempre receberá o valor do campo como parâmetro.
data-vld-msg` deve receber a mensagem que deve ser exibida ao usuário caso o campo não passe na validação.
No exemplo abaixo, valido se o campo foi preenchido com um número par:
<form id="meu-form" action="pagina1.php" method="post"> <input type="number" name="numero_par" min="0" max="100" data-vld-func="validaNumeroPar" data-vld-msg="O número digitado não é um número par."/> <button type="submit">Enviar form</button> </form> <script> // Primeiro eu configuro o meu formulário para utilizar o plugin $('#meu-form').formAjax(); // Essa é a função que vai validar se o número é par. Lembrando que ela deve retornar um valor booleano function validaNumeroPar(numero) { return numero % 2 === 0; } </script>
Desenvolvedor
Diego Lepera
dlepera88-jquery/jquery-form-ajax 适用场景与选型建议
dlepera88-jquery/jquery-form-ajax 是一款 基于 JavaScript 开发的 Composer 扩展包,目前已累计 138 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 12 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 dlepera88-jquery/jquery-form-ajax 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 dlepera88-jquery/jquery-form-ajax 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 138
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 8
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-12-20