Jump to content

Recommended Posts

Boa tarde,

 

Gostaria de ajuda!!!  :tired:

 

Para  ocultar do usuário o refresh que está no arquivo "envio_pesquisa.php",

pois ele direciona para pagina, só que não sei como vincular o submit que está no "contato_pesquisa.php" com o arquivo "ajax_pesquisa.js",

teria como alguém me ajudar??

 

 

OBS: Gostaria apenas que o formulário desse um reset deixando os campos em branco e não saísse da pagina.

 

 

 

ajax_pesquisa.js

contato_pesquisa.php

envio_pesquisa.php

Share this post


Link to post
Share on other sites

você vai usar algum framework javascript um exemplo usando jquery:

 

$(function(){
    $('#formulario').submit(function(){
		$.post( "pasta/pagina.php", function(e) {
 			$( "#resultado" ).html(e);
		});
      	//aqui impede do formulário ser postado
      	return false;
    });
});

//Api post Jquery:
//https://api.jquery.com/jquery.post/

 

  • +1 1

Share this post


Link to post
Share on other sites

Boa tarde, obrigada me ajudar, já consegui aki rsrsr... 

Faltava uma função no código js.... 

 

Os arquivos funcionando estão em anexo. 

 

 

Arquivo do formulário em html.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br" xml:lang="pt-br">
	<head>
		<title>Formulário de contato</title>
	</head>
	
	
	
	<body>
		<form id="simples-formulario-ajax">	
			<table class="contato">
				<tr>          <br><br><br>
					<td><label  for="nome" >Nome </label></td>
					<td><input  type="text" name="nome" id="nome" class="  " placeholder="Digite seu nome" required autofocus></td>
				</tr>
				<tr>
					<td><label class="contato" for="email">Email</label></td>
					<td><input class="contato" type="text" name="email" id="email" class=" " placeholder="seu@email.com.br" required></td>
				</tr>
				<tr>
					<td><label class="contato" for="assunto" id="assunto">Assunto:</label></td>
					<td><select class="contato" name="assunto" id="assunto">
								<option value="Sala de Pesquisa"> Sala de Pesquisa </option>
						</select></td>
				</tr>
				<tr>
					<td><label class="contato"    for="mensagem">Mensagem:</label></td>
					<td><textarea class="contato" name="mensagem" id="mensagem" cols="30" rows="10"></textarea></td>
				</tr>
			</table>
			<button class="contato btn btn-red"  type="submit" id="enviar">Enviar</button>

			<input type="hidden" id="metodo" value="formulario-ajax">
		</form>
		
		
		<!-- JAVASCRIPT -->
			<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
			<script src="http://culturaniteroi.com.br/macniteroi/cod/contato/formulario.js"></script>
		<!-- JAVASCRIPT -->
	</body>
</html>

 

Arquivo PHP, que faz envio da mensagem para o e-mail.

<?php
	
//Variáveis
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
$data_envio = date('d/m/Y');
$hora_envio = date('H:i:s');

// Corpo E-mail
  $arquivo = "
    <html>
    <b>Nome:</b>$nome
    <br><br>   
    <b>E-mail:</b><b>$email</b>
    <br><br>
	<b>Assunto:</b>$assunto
	<br><br>
    <b>Mensagem:</b>$mensagem
    <br><br>
    Este e-mail foi enviado em <b>$data_envio</b> às <b>$hora_envio</b>
    <br><br>
    </html>
  ";

  // emails para quem será enviado o formulário
  $emailenviar = "email@gmail.com";
  $destino = $emailenviar;
  $assunto = "Contato via site ...";

  // É necessário indicar que o formato do e-mail é html
  $headers  = 'MIME-Version: 1.0' . "\r\n";
  $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  $headers .= 'From: ' . $nome;
  
  $enviaremail = mail($destino, $assunto, $arquivo, $headers);
  if($enviaremail){
  $mgm = "E-MAIL ENVIADO COM SUCESSO! <br> O link será enviado para o e-mail fornecido no formulário";
 
   } else {
  $mgm = "ERRO AO ENVIAR E-MAIL!";
  echo "";
  }
	if(strcasecmp('formulario-ajax', $_POST['metodo']) == 0){
	
		$html = 'Nome: '.$_POST['nome'];
		$html .= "\n";
		$html .= 'Email: '.$_POST['email'];
		$html .= "\n\n Mensagem enviada com Sucesso!.";
		
		echo $html;
	}


?>

 

Arquivo em Javascript que limpa os campos da pagina e não sai da pagina.

	$('#simples-formulario-ajax').submit(function(e){
		e.preventDefault();
		
		if($('#enviar').val() == 'Enviando...'){
			return(false);
		}
		
		$('#enviar').val('Enviando...');
		
		$.ajax({
			url: 'formulario.php',
			type: 'post',
			dataType: 'html',
			data: {
				'metodo': $('#metodo').val(),
				'nome': $('#nome').val(),
				'email': $('#email').val(),
				'assunto': $('#assunto').val(),
				'mensagem': $('#mensagem').val()
			}
		}).done(function(data){
			
			alert(data);
			
			$('#enviar').val('Enviar');
			$('#metodo').val('formulario-ajax');
			$('#nome').val('');
			$('#email').val('');
			$('#mensagem').val('');
			
		});
		
	});

 

valida-formulario.php

formulario.js

formulario.php

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By b2black
      Estava vendo para atualizar o Windows pro 11, e notei isso no site da Microsoft, alguém sabe qual repositorio, ou como pesquisar para desenvolver algo similar?
      Quando você rola a página, o menu fica transparente.
       
      Explore Windows 11 OS, Computers, Apps, & More | Microsoft
    • By Marcos RJ
      Bom dia, boa tarde, boa noite colegas.
       
      Tenho um projeto onde conterá diversos subdomínios. Ex.:
      empresa1.site.com.br empresa2.site.com.br empresa3.site.com.br Esses subdomínios acessarão o sistema que está dentro do seguinte diretório:
      site.com.br/sistema/ Gostaria de fazer com que os subdomínios acessassem o sistema sem alterar a url, pois o objetivo é quando fizer quaisquer alterações e/ou inclusões de novos recursos, não tenhamos a necessidade de fazer isso dentro de todos os subdomínios, haja vista que serão dezenas ou até mesmo centenas de subdomínios. As minhas tentativas foram diretamente no .htaccess:
      RewriteEngine on RewriteCond %{HTTP_HOST} ^empresa1.site.com$ [OR] RewriteCond %{HTTP_HOST} ^www.empresa1.site.com$ RewriteRule ^(.*) http://www.site.com/sistema/$1?key=empresa1 [P,L] E o PHP ficou dessa forma:
       
      $diretorio = $_REQUEST["key"]; if($directory != null){    require "http://".$diretorio.".site.com.br/sistema/class/conectCass.php"; }else{  require "conectClass.php";  } Mas não deu certo. Tentei diretamente pelo PHP, mas quando clico no link criado, ele me obriga que a página do link esteja dentro dos subdiretórios. Em cada subdomínio coloquei da seguinte forma:
      include 'sistema/'; E no index.php do diretório sistema/:
      $host = $_SERVER['SERVER_NAME']; $host = str_replace(['www.', '.site.com.br', 'site.com.br'], '', $host); if($host == '') {     // entra o conteúdo do sistema } else {     // Entra o conteúdo do subdomínio } Mas também não funcionou. Como eu poderia resolver isso?

      Muito obrigado!
    • By viniciusfroner
      Bom dia, quero fazer um botão onde ao der o click pelo pc leve a uma página de contato para o whatsapp e pelo celular leve o número de contato a discagem direta.
      Procurei em alguns lugares mas o método de implementação que encontrei dependeria de codigos javascript que pra mim ainda são muito complexos, como por exemplo:
       
      function detectar_mobile() { var check = false; //wrapper no check (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera); return check; } <a href="" class="get-started-btn scrollto">Ligue para nós</a>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.