Galera to usando um protype, code dele abaixo
function AJAX() { this.Updater=carregarDados; function carregarDados(caminhoRetorno,idResposta,metodo,mensagem) { var conteudo=document.getElementById(idResposta) conteudo.innerHTML= mensagem; conteudo.style.display="block"; var xmlhttp = getXmlHttp(); //Abre a url xmlhttp.open(metodo.toUpperCase(), caminhoRetorno,true); //Executada quando o navegador obtiver o código xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4){ //Lê o texto var texto=xmlhttp.responseText; //Desfaz o urlencode texto=texto.replace(/\+/g," "); texto=unescape(texto); //Exibe o texto no div conteúdo var conteudo=document.getElementById(idResposta); conteudo.innerHTML=texto; } } xmlhttp.send(null); } } function getXmlHttp() { var xmlhttp; try{ xmlhttp = new XMLHttpRequest(); }catch(ee){ try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ xmlhttp = false; } } } return xmlhttp; }
Já usei ele com funções passando paramentro via $_GET funcionou bele, mas agora estou querendo passar os dados de um formulário e não consigo, pq sera ?
O codigo do form
<div id="agendarvisita"> <form name="agendar" method="post"> <label>Nome:</label><input type="text" name="nome" /> <label>E-mail:</label><input type="text" name="email" /> <label>Telefone:</label><input type="text" name="telefone" /> <label class="ldata">Data preferencial:</label><input type="text" name="data" class="data" maxlength="5" /> <label class="ldata">Hora preferencial:</label><input type="text" name="hora" class="data" maxlength="5" /> <input type="submit" value="Enviar" class="aenviar" onclick="java script:enviaVisita();"/> </form> </div>
A função enviaVisita();
function enviaVisita() { var ajax = new AJAX(); ajax.Updater("includes/enviar_visita.php","agendarvisita","post","agendando visita..."); }
O arquivo enviar_visita.php
<? $nome = $_POST['nome']; $email = $_POST['email']; $telefone = $_POST['telefone']; $data = $_POST['data']; echo "$nome - $email - $telefone $data"; ?>
É bem simples o enviar_visita so pra testar se ta funcionando, mas não funciona, já usei esse protype passando variavel via $_GET e funciona beleza.. agora essa post não sei pq não funciona...
Alguem sbe o que posso fzer ? Pra arrumar isso ? Tnks...
Edição feita por: corvox, 21/09/2007, 11:57.