Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boas Pessoas,
Sou novo nessa parte do forum e estou com um problema chaaato. Seguinte:
Eu criei minha primeira aplicação com ajax e coloquei na Produção se quiserem olhar ( não reparem)
http://www.prattika.net/contato_ajax.php
O que faz:
Envia E-mail
Problema:
Quando clico em enviar, ele efetuar todos os procedimentos, usei até o alert para poder debugar e ele passa tanto pelo estatus 1 quanto pelo status 4 e nos dois tem a seguinte linha:
Código:
document.getElementById("div_mail").InnerHTML = "Enviando, aguarde..."; -- Para readyState == 1E
document.getElementById("div_mail").InnerHTML = "Enviei..."; -- para o readyState == 4.
No entanto, quando ele sofre as alterações e termina todo o procedimento a Div Permanece intacta...sem nenhuma alteração.
DIV:
<div id="div_mail" class="confirma_email" align="center">teste</div>Segue Abaixo os fontes... contato_ajax.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">](http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd) <html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml) <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Prattika.Net</title> <link href="css/estilos.css" rel="stylesheet" type="text/css" /> <script language="javascript" src="scripts/ajax.js"></script> </head> <body onload="MM_preloadImages('img/prattika_r2_c2_f2.jpg','img/prattika_r2_c5_f2.jpg','img/prattika_r2_c6_f2.jpg','img/prattika_r2_c9_f2.jpg','img/prattika_r2_c11_f2.jpg')"> <!-- Montagem do topo --> <DIV class=layout_page> <DIV class=topo_img_logo></DIV> <!--Menu --> <div class="topo_menu1"></div> <div class="topo_img_direita"></div> <div class="topo_menu2"><img src="img/spacer.gif" width="1" height="1" /></div> <div class="conteudo_topo_contato"></div> <div class="layout_corpo"> <div class="layout_img_contato"></div> <div class="layout_cont_serv" align="justify"> <p><img src="img/contato/ar04.jpg" /> sac@prattika.net <div id="div_mail" class="confirma_email" align="center">teste</div> <!--<div align="right"></div>--> <table width="51%" height="50%" border="2" align="center" cellpadding="0" cellspacing="0" bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="layout_formcontato"> <tr bgcolor="#0099CC"> <td colspan="3" bgcolor="#0099CC"><div align="center" class="titulo_form_contato"><strong>Fale Conosco </strong></div></td> </tr> <tr> <td width="4%"> </td> <td width="33%" class="label_contato"><strong>Motivo</strong></td> <td width="63%"><select name="motivo" id="txtmotivo" class="input_frmcontato"> <option value="consultoria">Consultoria</option> <option value="Duvidas">Dúvidas</option> <option value="Outros">Outros</option> </select></td> </tr> <tr> <td> </td> <td class="label_contato"><strong>Nome/Emrpesa</strong></td> <td><input name="nome" id="txtnome" type="text" class="input_frmcontato" /></td> </tr> <tr> <td> </td> <td><strong class="label_contato">E-Mail</strong></td> <td><input name="email" id="txtemail" type="text" class="input_frmcontato" /></td> </tr> <tr> <td colspan="3"><div align="center">Parecer:</div></td> </tr> <tr> <td colspan="3"><div align="center"> <textarea name="parecer" id="txtparecer" cols="35" rows="5" class="input_frmcontato"></textarea> </div></td> </tr> <tr> <td colspan="3"><div align="center"> <input name="btn_envia" id="btn_envia" class="btn_contato" type="button" value="Enviar" onClick="envia_email();"/> <br /> </div></td> </tr> </table> <p> </p> </div> </div> <!--<div class="conteudo_topo"><img src="img/spacer.gif" width="335" height="1" /></div>--> <!--<div class="conteudo"></div> <div class="barra_direita"></div> <div class="espaco_canal"></div> --> <div class="layout_rodape"> <div align="center">Prattika.Net© Soluções Web 2006 <br /> prattika@prattika.net</div> </div> </div> </body> </html>
ajax.js
function envia_email() { if(window.XMLHttpRequest) { ajax = new XMLHttpRequest(); }else if(window.ActiveXObject){ ie = true; ajax = new ActiveXObject("Microsoft.XMLHTTP"); } var varmotivo = document.getElementById("txtmotivo").value var varnome = document.getElementById("txtnome").value var varemail = document.getElementById("txtemail").value var varparecer = document.getElementById("txtparecer").value var myurl = "scripts/ajax_mail.php?motivo="+ varmotivo+"&nome="+varnome+"&email="+varemail+"&parecer="+varparecer if(ajax) { ajax.open("GET", myurl, true); //alert('passou no GET'); ajax.onreadystatechange = function() { if(ajax.readyState == 1){ document.getElementById("div_mail").InnerHTML = "Enviando, aguarde..."; document.getElementById("btn_envia").disabled="disabled" document.getElementById("btn_envia").value="Enviando..." //alert('estado 1'); } if(ajax.readyState == 4){ var estado = ajax.responseText if(estado == "mail_true"){ document.getElementById("div_mail").InnerHTML = "Enviei..."; document.getElementById("btn_envia").disabled="" document.getElementById("btn_envia").value="E-Mail Enviado com sucesso" varnome = "" varemail = "" varemail = "" varparecer = "" //alert("Enviei"); }else if(estado == "mail_false"){ alert("Erro ao enviar E-Mail"); } } } ajax.send(null); } } function submissao_get(){ var varmotivo = document.getElementById("txtmotivo").value var varnome = document.getElementById("txtnome").value var varemail = document.getElementById("txtemail").value var varparecer = document.getElementById("txtparecer").value var myurl = "../scripts/ajax_mail.php?motivo="+ varmotivo+"&nome="+varnome+"&email="+varemail+"&parecer="+varparecer window.location = myurl; }
ajax_mail.php
<? if($_SERVER['HTTP_HOST'] == 'localhost'){ include('../scripts/conn.php'); } else{ include('/home/prattika/public_html/scripts/conn.php'); } if($_SERVER['REQUEST_METHOD'] == "GET") { $motivo = $_GET['motivo']; $nome = $_GET['nome']; $email = $_GET['email']; $parecer = $_GET['parecer']; /* if(empty($motivo)) { $item = 10; } elseif(empty($nome)) { $item = 20; } elseif(empty($email)) { $item = 30; } elseif(empty($parecer)) { $item = 40; } */ $sql = "insert into tblcontato (id_contato,nome_contato, email_contato, motivo_contato, data_contato, descricao_contato) values (null,'$nome','$email','$motivo', '".date('Y-m-d')."','$parecer')"; $grava_dados = mysql_query($sql) or die ("erro ao gravar: ". mysql_error()); //if($grava_dados) echo "gravei<br>"; //Envio do email para o Sac if(mail('sac@prattika.net',$motivo,nl2br($parecer),"From: $email")) //"Content-Type: text/html" -- cabeçalho { echo "mail_true"; exit; }else{ echo "email_false"; } }else{ echo "email_false"; exit; } ?>
abraço e obrigado desde já hein galeraCarregando comentários...