Sou novo aqui no fórum, e to precisando de uma ajudinha aki...
Sou programador PHP e desenvolvi uma intranet GRANDE para um empresa, toda com PHP e Ajax... Obviamente, o cliente adorou o fato de não haver reload de pg e tal, mas eu me deparei com um probleminha: o upload de formulários com arquivos. Estou usando a função MicoXUpload, que axei por ae na net... Só que eu não sei porque, essa função tah estourando meu layout... Toda vez q a uso, mesmo que o input file esteja com o tamnho definido no style, ele é aumentado ateh aparecer o caminho completo do arquivo, e dae arrebenta com td...
aahuahuhauhahuahua...
dei uma pesquisada aki no forum, mas não consegui encontrar nenhum scriptzinho pronto de upload de forms com arquivos... Será que alguém aki poderia me ajudar com um script mais simples? Deixo aki a função q uso, para o caso de alguém não conhecer...
Obrigado desde já...
[]´s :rolleyes:
function micoxUpload(form,url_action,id_elemento_retorno,html_exibe_carregando,html_erro_http){
/******
* micoxUpload - Submete um form para um iframe oculto e pega o resultado. Consequentemente pode
* ser usado pra fazer upload de arquivos de forma assíncrona.
* Use a vontade mas coloque meu nome nos créditos. Licença Creative Commons.
* Versão: 1.0 - 03/03/2007 - Testado no FF2.0 IE6.0 e OP9.1
* Autor: Micox - Náiron JCG - elmicox.blogspot.com - micoxjcg@yahoo.com.br
* Parametros:
* form - o form a ser submetido ou seu ID
* url_action - url pra onde deve ser submetido o form
* id_elemento_retorno - id do elemento que irá receber a informação de retorno
* html_exibe_carregando - Texto (ou imagem) que será exibido enquanto se carrega o upload
* html_erro_http - texto (ou imagem) que será exibido se der erro HTTP.
*******/
//testando se passou o ID ou o objeto mesmo
form = typeof(form)=="string"?$m(form):form;
var erro="";
if(form==null || typeof(form)=="undefined"){ erro += "O form passado no 1o parâmetro não existe na página.\n";}
else if(form.nodeName!="FORM"){ erro += "O form passado no 1o parâmetro da função não é um form.\n";}
if($m(id_elemento_retorno)==null){ erro += "O elemento passado no 3o parâmetro não existe na página.\n";}
if(erro.length>0) {
alert("Erro ao chamar a função micoxUpload:\n" + erro);
return;
}
//criando o iframe
var iframe = document.createElement("iframe");
iframe.setAttribute("id","micox-temp");
iframe.setAttribute("name","micox-temp");
iframe.setAttribute("width","0");
iframe.setAttribute("height","0");
iframe.setAttribute("border","0");
iframe.setAttribute("style","width: 0; height: 0; border: none;");
/* Não usei display:none pra esconder o iframe
pois tem uma lenda que diz que o NS6 ignora
iframes que tenham o display:none */
//adicionando ao documento
form.parentNode.appendChild(iframe);
window.frames['micox-temp'].name="micox-temp"; //ie sucks
//adicionando o evento ao carregar
var carregou = function() {
removeEvent( $m('micox-temp'),"load", carregou);
var cross = "java script: ";
cross += "window.parent.$m('" + id_elemento_retorno + "').innerHTML = document.body.innerHTML; void(0); ";
$m(id_elemento_retorno).innerHTML = html_erro_http;
$m('micox-temp').src = cross;
//deleta o iframe
setTimeout(function(){ remove($m('micox-temp'))}, 250);
}
addEvent( $m('micox-temp'),"load", carregou)
//setando propriedades do form
form.setAttribute("target","micox-temp");
form.setAttribute("action",url_action);
form.setAttribute("method","post");
form.setAttribute("enctype","multipart/form-data");
form.setAttribute("encoding","multipart/form-data");
//submetendo
form.submit();
//se for pra exibir alguma imagem ou texto enquanto carrega
if(html_exibe_carregando.length > 0){
$m(id_elemento_retorno ).innerHTML = html_exibe_carregando;
}
}
Pergunta
FeRRuGe
Bom dia, galera...
Sou novo aqui no fórum, e to precisando de uma ajudinha aki...
Sou programador PHP e desenvolvi uma intranet GRANDE para um empresa, toda com PHP e Ajax... Obviamente, o cliente adorou o fato de não haver reload de pg e tal, mas eu me deparei com um probleminha: o upload de formulários com arquivos. Estou usando a função MicoXUpload, que axei por ae na net... Só que eu não sei porque, essa função tah estourando meu layout... Toda vez q a uso, mesmo que o input file esteja com o tamnho definido no style, ele é aumentado ateh aparecer o caminho completo do arquivo, e dae arrebenta com td...
aahuahuhauhahuahua...
dei uma pesquisada aki no forum, mas não consegui encontrar nenhum scriptzinho pronto de upload de forms com arquivos... Será que alguém aki poderia me ajudar com um script mais simples? Deixo aki a função q uso, para o caso de alguém não conhecer...
Obrigado desde já...
[]´s :rolleyes:
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.