Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá!..
estava procurando uma solução para envio de forms no google e ele me trouxe até aqui no forum.
encontrei uma solução do fabyo e aprimorei ela para o envio de forms!..
::ATENÇÃO :: este codigo envia o form com metodo GET!!.. porem oculta a URL do historico !!
você pode utilizar este codigo para enviar qualquer formulario sem nenhuma modificação!
usei como base os seguintes artigos:
http://forum.imasters.com.br/index.php?showtopic=163371
http://www.tableless.com.br/artigos/ajaxdemo2/
Este codigo permite você carregar varios conteudos em varios pontos da pagina simultaneamente, pois ele utiliza uma fila!
segue abaixo o codigo.
// cria a filafila=[];ifila=0;// funcao que carrega uma pagina dentro de um objeto qualquerfunction carrega(url, destino){ // coloca o texto "carregando" no objeto de carregamento document.getElementById(destino).innerHTML="Carregando"; // adiciona o item na fila fila[fila.length]=[url,destino]; // se a fila estiver vazia, inicia a execução if((ifila+1)==fila.length)ajaxRun();}//Executa a próxima conexão da filafunction ajaxRun(){ // carrega os dados da pagina da fila url = fila[ifila][0]; destino = fila[ifila][1]; // carrega a pagina xmlhttp.open("GET", url, true); // headers xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); xmlhttp.setRequestHeader("Pragma", "no-cache"); // ao completar o carregamento xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4){ // coloca o valor no objeto requisitado texto=unescape(xmlhttp.responseText.replace(/\+/g," ")); document.getElementById(destino).innerHTML=texto; // executa a proxima requisição da lista (se existir) ifila++; if(ifila<fila.length)setTimeout("ajaxRun()",20); } } // executa xmlhttp.send(url);}// função que le todos os campos de um form e envia!function enviaForm(frmNome, url, destino){ // Captura o form f = document.getElementById(frmNome); // inicializa nova URL var query=url; //Percorre elementos do formulario for (i=0;i<f.elements.length;i++){ // se for a primeira variavel adiciona o "?" senao adiciona "&" query += i==0 ? '?' : '&'; // concatena a variavel na query query += f.elements[i].name + '=' + f.elements[i].value; } // envia o formulario carrega(query, destino);}vamos ao form!
<div id="login"> <table width="100%" border="0" cellpadding="1" cellspacing="0" id="tbllogin"> <form name="frmLogin" id="frmLogin" method="post" action="acoes.php"> <tr> <td align="center" bgcolor="#FFAA00">.:LOGIN:.</td> </tr> <tr> <td align="left">Matricula:</td> </tr> <tr> <td align="center"><input name="matricula" type="text" class="larg100" /></td> </tr> <tr> <td align="left">Senha:</td> </tr> <tr> <td align="center"><input name="senha" type="text" class="larg100" /></td> </tr> <tr> <td align="center"><input name="Submit" type="button" onclick="enviaForm('frmLogin', 'acoes.php', 'login');" class="larg100bot" value="Entrar" /></td> </tr> </form> </table> </div>Flw!.. espero que seja util ^^Carregando comentários...