Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Toni.Webmaster

[Resolvido] Não consigo enviar form

Recommended Posts

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>
<!--RESPOSTA-->
<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;
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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");
});
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

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)

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para teste, faça o seguinte:

 

$(document).ready(function() {
   alert( 'jQuery carregado!' );
   $('#form1').submit(function(){
      alert( 'Form enviado!' );

me diga qual alert aparece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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!' );
});
});

//***********************************//

Compartilhar este post


Link para o post
Compartilhar em outros sites

você leu o link sobre debugar ajax ?

 

é tudo oque eu posso fazer para te ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

www.carlosramosweb.com.br

 

Criação Criativa - Soluções para internet

www.criacaocriativa.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.