Oi Joarllei, tudo bom?
A melhor opção para enviar esses dados é com o type submit mesmo. Ele vai processar os campos do form naturalmente. Realizar essa funcionalidade com JS é muito mais complexo e menos intuitivo do que utilizar a funcionalidade padrão do HTML.
Os código que você trouxe aqui divergem um pouco um do outro. Aqui:
function salvarAnexo(){
App.blockUI({ animate: true });
$("#btn").onclick(function(){
$("#enviaArquivo").submit();
})
$.ajax({
type: "POST",
url: "Sistemas/NumeracaoDocumento/ajax/up_arquivo.php",
data: $("#enviaArquivo").serialize(),
success: function(r) {
alert(r);
if (r != "semErro") {
App.unblockUI();
swal("Erro!", "Erro ao processar a solicitação.", "error");
$('.modal').modal('hide');
}
else {
App.unblockUI();
swal("Sucesso!", "Arquivo anexado com sucesso.", "success");
$('.modal').modal('hide');
}
},
error: function(objeto, mensagem) {
App.unblockUI();
swal("Atenção!", 'Erro no Carregamento', 'error');
$('.modal').modal('hide');
}
});
}
A gente tem uma função que é chamada ao clickar no botão pelo atributo onClick no html. Dentro dele a gente chama um jquery indicando que ao clickar no botão o fomrulario é enviado com o submit do jquery. Que seria a mesma coisa que adicionar o submit no type do botão. Além disso rola um ajax que serializa o mesmo formulario e envia. Nesse caso provavelmente o ajax nem chega a ser executado porque o primeiro bloco ja vai te redirecionar para o script php.
Aqui:
function salvarAnexo(){
App.blockUI({ animate: true });
$.ajax({
type: "POST",
url: "Sistemas/NumeracaoDocumento/ajax/up_arquivo.php",
data: $("#enviaArquivo").serialize(),
success: function(r) {
alert(r);
if (r != "semErro") {
App.unblockUI();
swal("Erro!", "Erro ao processar a solicitação.", "error");
$('.modal').modal('hide');
}
else {
App.unblockUI();
swal("Sucesso!", "Arquivo anexado com sucesso.", "success");
$('.modal').modal('hide');
}
},
error: function(objeto, mensagem) {
App.unblockUI();
swal("Atenção!", 'Erro no Carregamento', 'error');
$('.modal').modal('hide');
}
});
}
A gente tem somente a requisição ajax com POST para o script up_arquivo.php no diretorio Sistemas/NumeracaoDocumento/ajax/. Esse arquivo é referente ao código php que você compartilhou, certo?
Você ja chegou a adicionar um var_dump() no começo desse arquivo para garantir que ele está sendo chamado?
Vai verificando até que ponto o código está sendo executado (debugando) para descobrir onde o script está falhando.