Fórum Requisições ajax (Incosistência na visualização) #499625
29/10/2014
0
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
Curtir tópico
+ 0Posts
31/10/2014
Edcp_poa
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.
Gostei + 0
31/10/2014
Israel Bango
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"; ?>
Gostei + 0
31/10/2014
Edcp_poa
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!
Gostei + 0
31/10/2014
Israel Bango
levarei em consideração o que disseste e
pesquisarei acerca do método load()
Thank you very much!
Deus o retribua!
Gostei + 0
01/11/2014
Edcp_poa
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)