Jump to content

Archived

This topic is now archived and is closed to further replies.

Washington Junio

[Resolvido] Jquery - Enviar $_FILES via $.ajax()

Recommended Posts

Fala Galera Imasters.

 

Bom confesso que não sou nenhum especialista em Jquery, mais dou meus pulos por aqui e sempre estudando com o tempo que sobra... <_<

 

Tô com uma certa dificuldade aqui e depois de muitas buscas na web, decidi verificar aqui com a comunidade.

 

Seguinte, tenho um arquivo .html que contém um formulário de cadastro. Através da função $.ajax() do Jquery, é enviado alguns dados via POST para uma arquivo que faz a inserção no Banco de dados. Até aí tudo bem!

 

Pintou um problema quando precisei enviar junto um arquivo para fazer upload. Vejam o Código:

 

ARQUIVO HTML

<div id="layout04">
    <div id="layout05"> Adicionar Forma de Pagamento</div>
    <div id="layout06">
        <div id="layout07"><span class="label">Forma de Pagamento:</span></div>
        <div id="layout08" style="height:45px;">
            <input name="NomeFormaPagamento" type="text" class="form_txt" id="NomeFormaPagamento" value=""/>
        </div>
    </div>
    <div id="line"></div>
    <div id="layout06">
        <div id="layout07"><span class="label">Ícone:</span></div>
        <div id="layout08" style="height:45px;">
            <input name="IconeFormaPagamento" type="file" class="form_txt" id="IconeFormaPagamento"  accept="gif|png|jpg|pdf"/>
        </div>
    </div>

</div>
<div id="layout09"><button id="adicionar"><img src="{LAYOUT}images/icon_approve.png"/> Cadastrar Forma de Pagamento</button><button id="cancelar" onclick="javascript: abrirPagina('#forma-pagamento');"><img src="{LAYOUT}images/icon_remove.png" alt="Cancelar"/> Cancelar</button></div>

Ao clicar no Botão com o ID Adicionar é feita esta requisição.

    $.ajax({
        type            : "POST",
        url             : "handler.php?h=forma-pagamento&section=adicionar",
        data            : "NomeFormaPagamento="+$('#NomeFormaPagamento').attr('value')+"&IconeFormaPagamento="+$('#IconeFormaPagamento').attr('value'),
        dataType        : "html",
        success         : function(data){$('#alerta').html(data);},
        error           : function(data){$('#alerta').html(data);}
    });

Até aí trankilo. meu problema é o seguinte: Preciso enviar, via post, nesta função o $_FILES['IconeFormaPagamento']['tmp_name'].

 

Utilizei o seletor para pegar o valor do campo... mais até entaum nada.. alguem me dá uma luz? minha cabeça ta fritando já! ahuahauha

 

 

 

Desde já Obrigadão aí!

Share this post


Link to post
Share on other sites

Não é possível.

 

Ajax não envia arquivos.

Oque os plugins de 'envio de arquivos' fazem, é criar um iframe(até onde sei), pelo qual submetem o arquivo, sem que o cliente veja.

 

como em:

http://www.swfupload.org/

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.