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,
pow estou com um probleminha que tá me dando a maior dor de cabeça.
Como sou iniciante em Jquery, não to conseguindo resolver.
O problema é este: passar 2(duas) datas para o arquivo em php e trazer o resultado na div, só que não retorna a resposta;
O código é este:
index
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery.1.4.2.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var data1 = $('#Data1').val();
var data2 = $('#Data2').val();
$.post("mostra_data.php", {data_1: data1, data_2: data2},
function(data){
$("#resposta").html(data);
}
, "html");
});
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
Data 1
<label for="Data1"></label>
<input type="text" name="Data1" id="Data1" />
Data 2
<label for="Data2"></label>
<input type="text" name="Data2" id="Data2" />
</form><div id="resposta"></div>
</body>
</html>
mostra_data.php
<?php
$data_inicial = $_POST['data_1'];
$data_final = $_POST['data_2'];
// Exibe uma mensagem de resultado:
echo "Data 1".$data_inicial." | Data 2".$data_final;
?>tentei fazer com submit, mas tb não tive exito. O que está errado??
$(document).ready(function() {
$("#submit").click(function() {
var data1 = $('#Data1').val();
var data2 = $('#Data2').val();
$.post("mostra_data.php", {data_1: data1, data_2: data2},
function(data){
$("#resposta").html(data);
}, "html");
});
});você fez com onclick, e não com onsubmit. Veja:
$(document).ready(function() {
$('#form1').submit(function(){
var data1 = $('#Data1').val();
var data2 = $('#Data2').val();
$.post("mostra_data.php", {data_1: data1, data_2: data2},
function(data){
$("#resposta").html(data);
}
, "html");
});
});
Se ainda não "der certo", debugue conforme indiquei nos posts acima, e me diga oque retornar(diagnosticando)
William, ainda não deu certo, debuguei e o retorno é na linha 8 "$(document).ready(function() {" onde diz que "$ is not defined"
então, essa linha:
<script type="text/javascript" src="jquery.1.4.2.js"></script>
não está achando a lib jQuery.
corrija o caminho ou o nome do arquivo.
Note que esse erro, estava descrito no link que te enviei. você leu ?
>
então, essa linha:
<script type="text/javascript" src="jquery-1.4.2.js"></script>
não está achando a lib jQuery.
corrija o caminho ou o nome do arquivo.
Note que esse erro, estava descrito no link que te enviei. você leu ?
Bruno,
o caminho da lib está correto, li os 2(dois) artigos que me enviou, mas ainda não consegui exito,
como disse antes, tentei com click, com submit, mas não retorna nada.
para teste, faça o seguinte:
$(document).ready(function() {
alert( 'jQuery carregado!' );
$('#form1').submit(function(){
alert( 'Form enviado!' );
me diga qual alert aparece.>
para teste, faça o seguinte:
$(document).ready(function() {
alert( 'jQuery carregado!' );
$('#form1').submit(function(){
alert( 'Form enviado!' );
me diga qual alert aparece.
estamos quase lá, está carregando os dois, então testei o código com o "alert" e vi que está retornando o resultado recebido, mas quando fecho o alert, o resultado desaparece.
no console de erros não acusa erros.
//***************************//
$(document).ready(function() {
//alert( 'jQuery carregado!' );
$('#form1').submit(function(){
var data1 = $('#Data1').val();
var data2 = $('#Data2').val();
$.post("mostra_data.php", {data_1: data1, data_2: data2},
function(data){
$("#resposta").html(data);
}, "html");
alert( 'Form enviado!' );
});
});
//***********************************//
você leu o link sobre debugar ajax ?
é tudo oque eu posso fazer para te ajudar.
>
você leu o link sobre debugar ajax ?
é tudo oque eu posso fazer para te ajudar.
vlw Willian pela ajuda, dei uma lida no artigo e consegui resolver, era preciso colocar um retorno.
mais uma vez agradeço pela paciencia e pela ajuda.
abs.
Seu problema é bem simples de resolver, mas é preciso alterar seu código para este.
<script type="text/javascript">
$(document).ready(function() {
$.post('mostra_data.php',{
data1:$("#Data1").val(),
data2:$('#Data2').val()},function(valor){
$("#resposta").html(data);
}
, "html");
});
</script>
Carlos Ramos Web - Soluções para internet
Criação Criativa - Soluções para internet
debugue teu script.
leia:
http://wbruno.com.br/blog/2011/03/31/como-debugar-javascript-firefox-erros-comuns/
http://wbruno.com.br/blog/2011/04/14/como-debugar-ajax-firebug/
você notou q você não está esperando nada para fazer a requisição?
você apenas espera o DOM carregar, e já envia o ajax, ou seja, com os campos em branco.
você precisa atrelar isso ao evento onsubmit do teu formulário, ou algo do tipo.