Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 14

div não exibe no ie

26-03-2009 00:05

olá...

estou com um problema... eu consigo enviar uma mensagem via ajax no ie... só que a div que exibe a mensagem de confirmação não aparece no ie.

no mozilla e outros, funciona...

acredito que pode ser um erro do meu código html... mas vou enviar, antes, o javascript:

contact.js

function validateFields() { var frmEl = document.getElementById('cForm'); var posName = document.getElementById('posName'); var posEmail = document.getElementById('posEmail'); var posRegard = document.getElementById('posRegard'); var posText = document.getElementById('posText'); var strCC = document.getElementById('selfCC'); var whiteSpace = /^[\s]+$/; if ( posText.value == '' || whiteSpace.test(posText.value) ) { alert("Por favor, preencha os campos."); } else if ( posEmail.value == '' && strCC.checked == true ) { alert("Insira seu e-mail"); alert("Sem enviar seu e-mail não é possível encaminhar a você uma cópia."); alert("Tente novamente!"); frmEl.reset(); alert("O formulário será apagado."); alert("Retorne a digitar os dados!"); posName.focus(); } else { sendPosEmail(); } } function sendPosEmail () { var success = document.getElementById('emailSuccess'); var posName = document.getElementById('posName'); var posEmail = document.getElementById('posEmail'); var posRegard = document.getElementById('posRegard'); var posText = document.getElementById('posText'); var strCC = document.getElementById('selfCC').value; var page = "../php/xmlHttpRequest.php?contact=true&xml=true"; showContactTimer(); // quickly begin the load bar success.style.display = 'none'; // hide the success bar (incase this is a multi-email // convert (&, +, =) to string equivs. Needed so URL encoded POST won't choke. var str1 = posName.value; str1 = str1.replace(/&/g,"**am**"); str1 = str1.replace(/=/g,"**eq**"); str1 = str1.replace(/\+/g,"**pl**"); var str2 = posEmail.value; str2 = str2.replace(/&/g,"**am**"); str2 = str2.replace(/=/g,"**eq**"); str2 = str2.replace(/\+/g,"**pl**"); var str3 = posRegard.value; str3 = str3.replace(/&/g,"**am**"); str3 = str3.replace(/=/g,"**eq**"); str3 = str3.replace(/\+/g,"**pl**"); var str4 = posText.value; str4 = str4.replace(/&/g,"**am**"); str4 = str4.replace(/=/g,"**eq**"); str4 = str4.replace(/\+/g,"**pl**"); var stuff = "selfCC="+strCC+"&posName="+str1+"&posEmail="+str2+"&posRegard="+str3+"&posText="+str4; loadXMLPosDoc(page,stuff) } function showContactTimer () { var loader = document.getElementById('loadBar'); loader.style.display = 'block'; sentTimer = setTimeout("hideContactTimer()",6000); } function hideContactTimer () { var loader = document.getElementById('loadBar'); var success = document.getElementById('emailSuccess'); var fieldArea = document.getElementById('contactFormArea'); var inputs = fieldArea.getElementsByTagName('input'); var inputsLen = inputs.length; var tAreas = fieldArea.getElementsByTagName('textarea'); var tAreasLen = tAreas.length; // Hide the load bar alas! Done Loading loader.style.display = "none"; success.style.display = "block"; success.innerHTML = '<strong style="color:green;">'+grabPosXML("confirmation")+'</strong>'; // Now Hijack the form elements for ( i=0;i<inputsLen;i++ ) { if ( inputs[i].getAttribute('type') == 'text' ) { inputs[i].value = ''; } } for ( j=0;j<tAreasLen;j++ ) { tAreas[j].value = ''; } } function ajaxContact() { var frmEl = document.getElementById('cForm'); addEvent(frmEl, 'submit', validateFields, false); frmEl.onsubmit = function() { return false; } } addEvent(window, 'load',ajaxContact, false);

AGORA, envio o xmlHttp.js:

var pos; // variable for posting information function loadXMLPosDoc(url,posData) { // branch for native XMLHttpRequest object if (window.XMLHttpRequest) { pos = new XMLHttpRequest(); pos.onreadystatechange = processPosChange; pos.open("POST", url, false); pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); pos.send(posData); // branch for IE/Windows ActiveX version } else if (window.ActiveXObject) { pos = new ActiveXObject("Microsoft.XMLHTTP"); if (pos) { pos.onreadystatechange = processPosChange; pos.open("POST", url, false); pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); pos.send(posData); } } } function grabPosXML (tagName) { return pos.responseXML.documentElement.getElementsByTagName(tagName)[0].childNodes[0].nodeValue; } function processPosChange() { // page loaded "complete" if (pos.readyState == 4) { // page is "OK" if (pos.status == 200) { if ( grabPosXML("posStatus") == 'NOTOK' ) { alert('Problemas em enviar seu e-mail. Envie novamente.'); } } } }

Finalmente, envio o html (está bagunçado, mas arrumo depois):

<html><head><title>XXX</title><meta http-equiv="Content-Language" content="pt-br"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="../css/estilo.css"/> <script type="text/javascript" src="../js/functionAddEvent.js"></script> <script type="text/javascript" src="../js/contact.js"></script> <script type="text/javascript" src="../js/xmlHttp.js"></script> </head> <body style="overflow:hidden; background:#E8E8E8; margin-left:-10px"> <div id="email"> <p><img alt="" src="../img/icon/stamp__pencil.png" width="16" height="16"> Entre em contato!</p> <div style="margin-top: -45px; *margin-top: 0px; margin-left: 700px; width:300px; position:absolute; float:right"> <p id="loadBar" style="display:none; font-size: 13px">Enviando a mensagem... <img src="../img/ajax-loader.gif" alt="Loading..." title="Sending Email" /></p> <p id="emailSuccess" style="display:none; font-size: 13px; color:red">Enviada com sucesso! <img src="../img/icon/exclamation.png"></p></div> <div id="contactFormArea"><form action="../php/envia.php" method="post" id="cForm"> <input type="text" size="25" name="nome" class="form_text_input" id="posName" value="Nome"/><br /> <input type="text" size="25" name="email_from" id="posEmail" class="form_text_input" value="E-mail"/><br /> <input type="text" size="25" name="assunto" id="posRegard" class="form_text_input" value="Assunto"/><br /> <textarea cols="50" rows="5" name="mensagem" id="posText" class="form_text_area" value="Mensagem"></textarea> <label for="selfCC"><input type="checkbox" name="selfCC" id="selfCC" value="send" /><font style="font-size:11px;"> Enviar cópia para seu e-mail</font></label> <label><input class="form_submit" type="submit" name="sendContactEmail" id="sendContactEmail" value="Enviar mensagem" /></label> </form> </div> </body> </html>

Tomara que possam me ajudar!
0
Editado pela última vez por web em 26-03-2009 08:59, em um total de 1 vez.
Razão: Coloque seus scripts entre a tag Code
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

div não exibe no ie

26-03-2009 09:03

Todo processo está online?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 14

div não exibe no ie

27-03-2009 00:31

Tá sim, cara. Daí achei estranho o IE ignorar a exibição do div... e ele chega a enviar a mensagem! o problema é apenas que ele não exibe a mensagem de confirmação... então, quem envia a mensagem pelo IE pensa que não ocorreu nada! :? :?
0
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 14

div não exibe no ie

27-03-2009 00:49

esqueci de dizer q eu separo os arquivos... o php está em um diretório, o html em outro e os js em outro... será isso? o ie interpreta como algo inseguro pro usuário?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

div não exibe no ie

27-03-2009 08:50

O importante é que os arquivos estejam ligados corretamente. No seu script tem a linha da identificação de onde irá uma mensagem

var success = document.getElementById('emailSuccess');

Confere ai se tem esse elemento com id, no caso uma div.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 14

div não exibe no ie

27-03-2009 23:51

é um parágrafo... mas ele tem o id... nem era uma div... rs, mas o efeito é o mesmo...

o problema é que o ie continua sendo rebelde quanto a exibir essa confirmação... ao invés disso, exibe na barra de status como erro na página... só que, mesmo assim, envia a mensagem... :help
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

div não exibe no ie

28-03-2009 10:08

Tenta colocar o id em uma div, pode ser isso.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 14

div não exibe no ie

29-03-2009 17:15

Não adianta. Acho melhor buscar outro script.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17639
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

div não exibe no ie

29-03-2009 18:00

Peguei os js e html e criei os arquivos aqui, tanto no IE quanto no FF vai direto para página definida no action, sem mensagem alguma, é isso mesmo? Não tá faltando algum arquivo?
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot]