Ir para conteúdo
Fórum Script Brasil

FeRRuGe

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre FeRRuGe

FeRRuGe's Achievements

0

Reputação

  1. function micoxUploadAvatar(form,url_action,id_elemento_retorno,html_exibe_carregando,html_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; display: 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; } } Desculpe o incoveniente... Mas ta ae a função.. Mesmo tendo aquele form.submit();, eu gostaria de saber como eu faço pra ter certeza que o arquivo já foi totalmente enviado... O q tah acontecendo é q (eu axo) o submit é enviado, e a função continua a ser executada antes do arquivo ser totalmente enviado, entende? Eu gostaria de saber se em alguma parte desse código tem alguma função q só é executada depois do submit completo, ou onde eu devo colocar as novas linhas de codigo para que seja executada uma função após isso... Será que alguém pode me ajudar? Obrigado!
  2. Boa tarde, galera! Como já disse em outro tópico, to fazendo uma intranet meio gigante em Ajax e to usando a função do Micox (reafirmo, os créditos foram mantidos, uhahuahuahuhua) pra upload assíncrono de arquivos. Tb já disse q sou totalmente novato em Javascript (eu axo q disse), e to apanhando aki pra faze uma coisa q talvez seja simples: preciso executar uma função (se possível, passada por parâmetro na função do Micox) DEPOIS que o arquivo for completamente enviado, ou seja, depois que o formulário terminar o submit completo. Eu preciso atualizar uma DIV de listagem depois q o arquivo termina de ser enviado e devidamente gravado no banco... Eu fiz algumas gambiarras aki, como tentar dar um sleep (php) pra parar um pouco a execução do script de gravação e atualização... Até funciona, mas com um arquivo um pouco maior, não fica bom, porque a listagem atualiza antes do arquivo ser gravado... Por favor, alguma alma caridosa pode me ajudar? Tem alguma parte no script do Micox onde eu configuro eventos pós-submit? Como eu mando uma função por parametros? hehehehehe Agradeço desde já a importante ajuda! []´s :rolleyes:
  3. putz, KaKarotto... Se você tivesse postado antes, eu não tinha perdido o almoço tentando arruma isso... auhhuauhahuahuahuhuahuahu... mas a solução final foi essa mesmo... só q com uma coisinha a mais: overflow. Eu coloquei um overflow: auto; na div, e limitei o tamanho dela... Ae ficou certinho... Tava acontecendo no IE (sucks)... ahuauhhuahuahuahuahuahu Obrigado pela ajuda, cara... abraçooooo
  4. 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: 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; } }
×
×
  • Criar Novo...