Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera :D
Eu sempre usei este formulário de contato e sempre funcionou. Porém ele só tinha "Nome", "Email", "Assunto" e "Mensagem".
Bom, quis adicionar uns campos e agora, mesmo com os campos preenchidos, ele ainda considera como se algum tivesse vazio.. Então tô na duvida se fiz alguma coisa errada quando escrevi o JS, por que nao sei nada de java ahahahahah....
HTML:
CODE
<form name="contactform" id="contactform" action="">
<table width="100%" border="0" cellspacing="5" cellpadding="5">
<tr>
<td width="50%" align="right" valign="top">Nome Completo:</td>
<td width="50%" align="left" valign="middle"><input type="text" name="nome" class="inputbox"></td>
</tr>
<tr>
<td align="right" valign="top">E-mail:<br /><span style="font: 9px Verdana, Arial;color:#FF0000">Importante: Revise o e-mail digitado. <br />A resposta será enviada ao e-mail informado.</span></td>
<td align="left" valign="middle"><input type="text" name="email" class="inputbox"></td>
</tr>
<!--<tr>
<td valign="middle" align="center" colspan="2"> <div id="errormsg">Importante: Revise o e-mail digitado pois a resposta será enviada ao e-mail informado.</div>
</td>
</tr>-->
<tr>
<td align="right" valign="top">Cidade:</td>
<td align="left" valign="middle"><input type="text" name="cidade" class="inputbox"></td>
</tr>
<tr>
<td align="right" valign="top">Estado:</td>
<td align="left" valign="middle"><input type="text" name="estado" class="inputbox"></td>
</tr>
<tr>
<td align="right" valign="top">Telefone:<br /><span style="font: 9px Verdana, Arial;">Com DDD</span></td>
<td align="left" valign="middle"><input type="text" name="tel" class="inputbox"></td>
</tr>
<tr>
<td align="right" valign="top">Assunto:</td>
<td align="left" valign="middle"><select name="assunto">
<option value="compra" selected>Compra</option>
<option value="venda">Venda</option>
<option value="parceria">Parceria</option>
<option value="reclamacao">Reclamação</option>
<option value="Outros">Outros</option>
</select></td>
</tr>
<tr>
<td align="right" valign="top">Mensagem:</td>
<td align="left" valign="middle"><textarea name="msg" rows="10" id="textarea"></textarea></td>
</tr>
<tr>
<td align="right" valign="top"> </td>
<td align="left" valign="middle">
<input type="button" value="Enviar Mensagem" name="send" class="submitbutton" onclick='sendemail();'></td>
</tr>
</table>
</form>
Ai clicando no enviar, chama este JS
CODE
function createRequestObject() {
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}
var http = createRequestObject();
function sendemail() {
var nome = document.contactform.nome.value;
var email = document.contactform.email.value;
var tel = document.contactform.tel.value;
var cidade = document.contactform.cidade.value;
var estado = document.contactform.estado.value;
var assunto = document.contactform.assunto.value;
var msg = document.contactform.msg.value;
document.contactform.send.disabled=true;
document.contactform.send.value='Enviando';
http.open('get', 'contact/contact.php?msg='+msg+'&nome='+nome+'&assunto='+assunto+'&email='+email+'&cidade='+cidade+'&estado='+estado+'&tel='+tel+'&action=send');
http.onreadystatechange = handleResponse;
http.send(null);
}
function handleResponse() {
if(http.readyState == 4){
var response = http.responseText;
var update = new Array();
if(response.indexOf('|' != -1)) {
update = response.split('|');
document.getElementById(update[0]).innerHTML = update[1];
}
}
}
Ai ele envia para o .PHP
CODE
<?php
if(!isset($_GET['action']))
{
die("Esta pagina nao pode ser acessada diretamente"); //Just to stop people from visiting contact.php normally
}
// Now lets trim up the input before sending it
$name = trim($_GET['nome']); //The senders name
$email = trim($_GET['email']); //The senders email address
$cidade = trim($_GET['cidade']); //cidade
$estado = trim($_GET['estado']); //Estado
$tel = trim($_GET['tel']); //tel
$assunto = trim($_GET['assunto']); //assunto
$message = trim($_GET['msg']); //The senders message
if ($nome=="" || $email=="" || $cidade=="" || $estado=="" || $tel=="" || $message=="" )
{
echo "contactarea|Erro: Um ou mais campos estão vazios.<br /><a href=\"java script:window.location.reload( false );\">Voltar<a/>";
}
else {
//do email format validation
if(!eregi('^([._a-z0-9-]+[._a-z0-9-])@(([a-z0-9-]+\.)([a-z0-9-]+)(\.[a-z]{2,3})?)$', $email)) {
echo "contactarea|Erro: E-mail inválido. E-mails devem estar no formato xxxxx@xxxx.xxx.xx<br /><a href=\"java script:window.location.reload( false );\">Voltar<a/>";;
exit;
}
$to = "ddl@raphaelddl.com"; //This is the email address you want to send the email to
$noreply = "noreply@raphaelddl.com";
$headers = "From: Elimaq Comércio e Serviços Ltda <$noreply>\n";
// Assunto do e-mail auto resposta que o visitante receberá!
$assunto_r = $nome.", recebemos seu contato!";
$url_site = "http://www.elimaq.com.br";
$nome_ass = "Elimaq Comércio e Serviços Ltda.";
// Mensagem que será enviada no e-mail auto resposta!
$resposta = $name.", muito obrigado por ter entrado em contato. Este é um e-mail automático, favor não respondê-lo!\n O responderemos o mais breve possível.\n\n
Atenciosamente\n".$nome_ass."\n".$url_site;
// (Código 02) Enviar os dados capturados pelo formulário para seu e-mail!
// Frase que aparecerá no topo da mensagem!
$messages .= "Contato preenchido no Site da Elimaq \n--------------------------\n\n";
// mensagem em si.
$messages .= "Nome: $nome\n";
$messages .= "E-mail: $email\n";
$messages .= "Telefone: $tel\n";
$messages .= "Cidade: $cidade\n";
$messages .= "Estado: $estado\n";
$messages .= "Assunto: $assunto\n";
$messages .= "Mensagem: $message";
//----------------------------------------------------------------------------------------------------------------------//
// Responsável pelo envio do e-mail para sua cxa postal
mail($to, $assunto, $messages, $headers);
// Responsável pelo envio da auto resposta pra quem escreveu a msg
mail($email, $assunto_r, $resposta, "From: $noreply");
echo "contactarea|<center><img src=\"./email_enviado.gif\" style=\"border:0;\" alt=\"Email Enviado!\" /><br />Obrigado ".$nome.", seu contato foi enviado. <br /> A resposta será dada o mais breve possível.</center>";
}
//now lets update the "contactarea" div on the contact.html page. The contactarea| tell's the javascript which div to update.
?>
Se tudo estiver OK, ele atualiza a div 'contactarea' com a mensagem usando AJAX. (Sem recarregar a tela), e o PHP manda um email pra mim com o formulario e um email para a pessoa falando que recebemos o contato.
Agora queria saber.. Antes tinham 4 campos.. E tem um readyState == 4 no java..
Aumentei ele para o numero de campos que tem (7) e agora nem falar que ta errado acontece..
Outra coisa... COMO fazer os "enters" dados dentro da caixa serem detectaados como quebra de linha (e nao aparecer no email uma linha unica de texto >_<)
Alguem me ajuda aew ^^?
agradeço desde já
ATt.
Raphael DDL.
Carregando comentários...