承接 dlepera88-jquery/jquery-form-ajax 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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@gmail.com

http://diegolepera.xyz/

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 dlepera88-jquery/jquery-form-ajax 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 138
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 8
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: JavaScript

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-12-20