<commit_before># Plugin jQuery Form Ajax
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á.

```
$('#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.

```
$('#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 parâmetro o retorno do submit, possibilitando o tratamento e exibição do retorno. Não precisa retornar nada.

```
$('#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"/><commit_msg>Pequena correção na descrição da opção func_depois<commit_after># Plugin jQuery Form Ajax
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á.

```
$('#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.

```
$('#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 parâmetro o retorno do submit, possibilitando o tratamento e exibição do retorno. Não precisa retornar nada.

```
$('#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"/>
{'fraction_non_alphanumeric': 0.08981168517624336, 'fraction_numerical': 0.0014485755673587638, 'mean_word_length': 4.918571428571428, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6212255', 'n_tokens_mistral': 1370, 'n_tokens_neox': 1302, 'n_words': 471}