Jump to content


halfar

Member Since 08/09/2009
Offline Last Active 27/01/2017, 11:16
-----

#1036611 duvida em relacao a ajax e jquery

Posted by halfar on 09/01/2017, 18:15

Não sei bem se aqui é local adequeado para minha dúvida. Peço que movam para o local adequado, pois não achei.

 

tenho uma pagina inicial index.php trabalhando com ajax. Dentro desta index existe uma div que irá exibir o conteudo
de uma outra pagina chamada novos_lancs.php. Então o usuário clica num botão existente na index.php é executado o 
codigo ajax que irá exibir a pagina novos_lancs.php dentro da div existente em index.php.
 
Por sua vez, na pagina novos_lancs.php, que é na realidade um formulário para que o usuário entre com dados, também
existe um botão para executar a pagina xnovos_lancs.php que irá executar o codigo php para gravar os registros 
no banco de dados. Só que neste caso, a pagina xnovos_lancs.php é invocada atraves da instrução jquery existente
na pagina novos_lancs.php. Pois bem.
 
Se eu executar a pagina diretamente no browser, assim http://www.dominio.c...novos_lancs.php, tudo funciona corretamente.
Mas como esta pagina novos_lancs.php ela está na realidade dentro de uma div na pagina index.php, aí a coisa não funciona,
apos o usuário clicar no botão, o formulário existente dentro da div some e não grava nada no banco de dados.
 
Abaixo segue os codigos das páginas mencionadas:
 
pagina index.php:
 
<!DOCTYPE HTML>
<html><head>
<script type="text/javascript" src="funcoes/funcoes.js"></script>
<link rel="stylesheet" type="text/css" href="estilos/estilos.css"><title>Controle Financeiro</title>
 
<script type="text/javascript">
$(document).ready(function(){
$(".titulo")
.css("color", "#f66")
.css("font", "40px arial, sans-serif")
.text("CONTROLE FINANCEIRO")
});
</script>
 
</head>
<body>
<?php echo "teste"; ?>
<form name="form1" action="">
<div id="menu" name="menu" class="quadro_a"><br>
<input id="nova_despesa" name="nova_despesa" value="novo_lanc" onclick="getDados(this.name);" type="button"><br>
<br>
</div>
 
<div name="resultado" id="resultado" class="quadro_b">aqui é exibida a pagina novos_lancs.php</div>
 
 

 

 

pagina novos_lancs.php:

 

Citar

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<script type="text/javascript">
// Inicia o jQuery
$(document).ready(function(){
// Cria uma variável que vamos utilizar para verificar se o
// formulário está sendo enviado
var enviando_formulario = false;
var url = "";
// Captura o evento de submit do formulário
$("#form_gastos").submit(function(event){
var dados = jQuery( this ).serialize();
jQuery.ajax({
type: "POST",
url: "xnovos_lancs.php",
data: dados,
success: function( data )
{
}
});
return false;
});
});
</script>
</head>
<body>
<form id="form_gastos" method="post" action="">
<table style="text-align: left; width: 1035px; height: 370px;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td>data</td>
<td>tipo de despesa</td>
<td>estabelecimento comercial</td>
<td>descrição</td>
<td>valor</td>
<td></td>
</tr>
<tr>
<td style="width: 100px;"><input name="txtdata1" id="txtdata1" type="text"></td>
<td style="width: 150px;"><input name="txttd1" id="txttd1" type="text"></td>
<td style="width: 200px;"><input name="txtec1" id="txtec1" type="text"></td>
<td style="width: 200px;"><input name="txtd1" id="txtd1" type="text"></td>
<td style="width: 200px;"><input name="txtv1" id="txtv1" type="text"></td>
<td><input value="Enviar" type="submit">
</td>
</tr>
</table>
</form>
 

 

 

 

 

xnovos_lancs.php
 

Citar

 
<?php
 
 
include("conexao/conexao.php");
 
 
echo "teste";
 
//recupera os varios campos do formulário (não aparecem todos aqui, pois desnecessários)
$data1 = $_POST["txtdata1"];
$data2 = $_POST["txtdata2"];
 
 e aqui segue o codigo para gravar os registros no BD.
   
$exec = $conn->prepare($sql);
$exec -> execute();
 
echo "string 2" . $sql;
 
   if($exec){
      echo 'Dados inseridos com sucesso!';
   }
   else{
      print_r($pdo->errorInfo());
      echo "erro aqui";
   }
 
?>

 

 

 


resolvido, foi so pegar o codigo jquery que esta na pagina pagina novos_lancs.php  e colocar na pagina index.php




#1023093 ajax resposta em duas divs apos clicar no botão

Posted by halfar on 24/12/2015, 11:10

apos clicar no botao submit, como fazer aparecer o resultado em duas divs diferentes, sendo que o conteudo de cada uma das divs sao diferentes. Pensei em colocar duas chamadas de funcao no botao submit, algo mais ou menos assim: <input type="submit" onclick="funcao1(); funcao2();" > mas mesmo que isso funcione, a funcao2 irá ser executada de acordo com o resultado da funcao1, e para piorar, como o resultado disto será verificado nas paginas php. Explicando melhor: a funcao1 ao ser executada com ajax, irá chamar a pagina verif.php. Dependendo do resultado verificado nesta pagina, a resposta deverá retornar ou para a primeira div, ou para segunda div, ou até mesmo para ambas as divs... Se a verificacao destas respostas ficassem restritas a funcoes, seria mais facil de resolver, pois uma função pode ler o resultado de outra, mas como a resposta depende da pagina verif.php, aí a coisa se complica... Tentei também colocar o codigo de chamada para segunda funçao no final do codigo php da pagina verif.php, simplesmente, no final da pagina coloquei  <script>funcao1();</script> , mas não funcionou. E isto me fez verificar se estas chamadas de funcoes do js funcionam somente dentro de algum objeto. Bem, alguem teria alguma sugestão?




IPB Skin By Virteq