Eu estou tentando fazer upload de uma foto, logo após validar o meu formulário sem submit, chamando uma função que envia os parâmetros para execução e posterior gravação dos dados em BD, não consegui resolver com o que tenho, creio que estou tentando de forma errada.
Tenho isso após a validação dos dados:
// INSERÇÃO DE DADOS - UPLOAD function DlgInserirUpload() { var params = { Operacao: 'Upload', sObservacao: $('#sObservacao').val(), IdContrato: $("input[name=IdContrato]").val(), file: $("#arquivo").val(), }; GravaFase(params); }
E chamo a função GravaFase passando os parâmetros coletados, as variáveis sObservação e IdContrato estão sendo enviadas mas a arquivo não, a função que efetua o envio para o php é essa:
// PROCESSO INTEGRADO - INSERÇÃO, ALTERAÇÃO E DELEÇÃO function GravaFase(params) { console.log(params); $.post( 'pProcessoFase.php', params, function( json, textStatus, jQxhr ){ if (json.status != "ERRO") { var dialogInstance = BootstrapDialog.show({ title: 'SUCESSO', type: BootstrapDialog.TYPE_SUCCESS, message: json.msg, closable: false, buttons: [ { label: 'Fechar', cssClass: 'btn-success', action: function(dialogRef){ dialogRef.close(); // location.reload(); var IdContrato = json.par; // console.log(aba); // console.log(IdContrato); // TABELA COM DADOS DA FASE DO CONTRATO $("#resultado-fase").load('pListaFaseContrato.php',{IdContrato:IdContrato}); // LIMPANDO CAMPOS DO FORMULÁRIO $("#IdTipoFase").val(0); $("#dData").val(""); $("#dHora").val(""); $("#sDescricao").val(""); // TABELA COM DOCUMENTOS DO CONTRATO $("#resultado-upload").load('pListaUpload.php',{IdContrato:IdContrato}); // LIMPANDO CAMPOS DO FORMULÁRIO $("#sObservacao").val(""); $("#arquivo").val(""); // TABELA COM DADOS DA FASE OBRIGATÓRIA DO CONTRATO $("#resultado-obrigatoria").load('pListaFaseObrigatoria.php',{IdContrato:IdContrato}); // LIMPANDO CAMPOS DO FORMULÁRIO $("#IdTipoFase1").val(0); $("#iOrdem").val(0); } } ] }); } else { var dialogInstance = BootstrapDialog.show({ title: 'ERRO', type: BootstrapDialog.TYPE_DANGER, message: json.msg, closable: false, buttons: [ { label: 'Fechar', cssClass: 'btn-danger', action: function(dialogRef){ dialogRef.close(); } } ] }); } }, 'json' ) .fail(function( jqXhr, textStatus, errorThrown ){ try { var json = $.parseJSON(jqXHR.responseText); var dialogInstance = BootstrapDialog.show({ title: 'ERRO', type: BootstrapDialog.TYPE_DANGER, message: json.msg }); } catch(e) { var dialogInstance = BootstrapDialog.show({ title: 'ERRO', type: BootstrapDialog.TYPE_DANGER, message: json.msg }); } }); }
Já pesquisei alguns modelos e nãop consegui nada.