PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Requisições ajax (Incosistência na visualização) #499625

29/10/2014

0

Saúdo a todos que estão lendo esta pergunta, Paz e amor! eu estou començando a estudar ajax e encontrei uma
dificuldade, se alguém poder ajudar-me agradecerei bastante por favor.
é o seguinte: Criei um formulário com um botão que depois de ser acionado abre um outro documento
na mesma página com uma textearea e um outro botão, isto faço com uma requisição do ajax, até ali tudo bem.

Neste documento que abre com uma textearea coloquei uma função que permite pegar o valor que digitei na textearea
com o method Post e colocar numa <div> ou <p> abaixo.
O problema consiste em que quando chamo o documento que tem a textearea apartir da requisição que é executada
pelo botão, não executa outra função simplesmente coloca o valor digitado na textearea na url.

Mas quando abro o documento que contem a textearea directamente no navegador ele funciona normalmente.

Alguem já teve este problema ou sabe como posso resolver por favor!
Israel Bango

Israel Bango

Responder

Posts

31/10/2014

Edcp_poa

Israel:

1 - Por favor, poste o teu código (de preferência, utilize a ferramenta do fórum que permite visualizarmos bem o código);

2 - Por que tu precisa fazer o load desta página?

3 - A textarea citada e os outros elementos no html que tu está carregando via AJAX estão dentro de um FORM, ou estão sendo inseridos dentro de um form já existente?

Fico no aguardo para poder te ajudar.
Responder

Gostei + 0

31/10/2014

Israel Bango

Obrigado Edcp_Poa pela tua boa vontade

Estou fazendo um sistema de perguntas e respostas e coloquei um botão
que quando clicado abre a textearea que está na página que deve ser carregada.
esta textearea está dentro de um form.
Contudo estarei introduzindo o código:

Este abaixo é que vai permitir chamar a página que tem o formulário da textarea via ajax!

  <!DOCTYPE html>
<html>
<head>

<script src="jquery-git1(Biblioteca Web JQUERY).js"></script>
<script>


  function LoadXmlDoc()
  {
   var xmlhttp;
   
   if( window.XMLHttpRequest){
   
     xmlhttp = new XMLHttpRequest();

   }
   else{
   
      xmlhttp = new ActiveXobject("Microsoft.XMLHTTP");
	

	}
    xmlhttp.onreadystatechange = function()
	{
	
    if( xmlhttp.readyState == 4 && xmlhttp.status == 200){
	
	  document.getElementById("myP").innerHTML = xmlhttp.responseText;
	}
	}
     xmlhttp.open("get","doc.php",true);
	 xmlhttp.send();
	
	}
</script>


</head>
<body>

<form class="formulario">
<button type="button" onclick="LoadXmlDoc()">Responder </button>

<h3> Responda os seus amigos e também faça Perguntas</h3>
<p id="myP"></p>
<p></p>

</form>
  
</body>

</html>  


Este é a página que será chamada no código acima

   
  <html>
<head>

<script src="script/jquery-git1(Biblioteca Web JQUERY).js"> </script>

<script>

$(function(){

  $('.formulario').submit(function(){
   
   $.ajax({
   
    type: 'POST',
	url : 'response.php',
	data : { 
	  msg: $('textarea[name = msg]').val()
	  
	   }
   }).done(function(e){
     
	 $('.resultado').append(e);
     $('textarea[name = msg]').val('')
   });
 
         return false;
		  });
		  
		     });

</script>

</head>

<body>
<form class = "formulario" action="response.php" method="POST">
<textarea id="text" name= "msg" rows="5" cols="80" value = "<?php $msg; ?>" > </textarea></br>
<input type="submit"  value="OK"/>
</form>
</br>

 <div class='resultado'> </div>
  

</body>
</html>
  


Valor que é retornado na <div> do código acima com a class = "resultado" também com o ajax quje está declarado entre as head's

<?php
$mensagem = $_POST["msg"];
echo "$mensagem";
?>
Responder

Gostei + 0

31/10/2014

Edcp_poa

Israel:

1 - Obrigado por postar teu código;

2 - Reavalie teu código levando em consideração o seguinte:
2.1 - Tu precisa apenas de alguns elementos para o form atual, sendo assim, não precisa fazer todo um html (com todas as tags de abertura e fechamento, só dos elementos que tu queres);
2.2 - Utilize os padrões novos, sendo assim crie os gatilhos em um .js externo, ao contrário de dentro do que tu está chamando;
2.3 - Me parece que tu queres utilizar jQuery, então utilize mais da biblioteca, do que javascript cru;
2.4 - Aprenda mais sobre o método load(), na W3C Schools e na documentação do próprio jQuery, creio que será mais fácil, tendo em vista o que tu queres fazer.

Creio que por aí tu vais melhorar teu código.

Sucesso!
Responder

Gostei + 0

31/10/2014

Israel Bango

Obrigado Edcp_Poa pela correcção!
levarei em consideração o que disseste e
pesquisarei acerca do método load()
Thank you very much!
Deus o retribua!
Responder

Gostei + 0

01/11/2014

Edcp_poa

Tudo de bom tchê! Sucesso!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar