Requisições ajax (Incosistência na visualização)
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!
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
Curtidas 0
Respostas
Edcp_poa
29/10/2014
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.
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
Israel Bango
29/10/2014
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!
Este é a página que será chamada no código acima
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
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
Edcp_poa
29/10/2014
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!
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
Israel Bango
29/10/2014
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!
levarei em consideração o que disseste e
pesquisarei acerca do método load()
Thank you very much!
Deus o retribua!
GOSTEI 0
Edcp_poa
29/10/2014
Tudo de bom tchê! Sucesso!
GOSTEI 0