Ir para conteúdo

POWERED BY:

Arquivado

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

Lady01

Exibir formulario de alteração de dados de acordo com id

Recommended Posts

Tenho uma página onde o usuário, escolhe o registro que ele quer editar através de uma combobox. quando ele submete a página o id do registro é enviado para o formulário de edição que já aparece preenchido com os dados enviados na hora do cadastro. A minha dúvida é como fazer para retornar a página do formulário de edição.

Estou utilizando ajax, pois não posso atualizar a página nesse processo. Consigo enviar o id do registro selecionado na combobox para o formulário de edição, mas não consigo retornar nada, já tentei redirecionar e ainda sim não resolve. Sei que provavelmente esteja algo errado ou falte algo mas não consigo identificar.

Segue o código que estou utilizando:

 

[inline]
jQuery(document).ready(function(){
$( "#formFilhos" ).change(function() {
$("#select").text($('#formFilhos option:selected').text());
});
jQuery(document).on("submit","#criancas" ,function(){
var dados = $( "#formFilhos" ).val();
alert(dados);
jQuery.ajax({
type: "POST",
url: "../alteracaodados/alterardadosfilho.php",
data: "crianca="+dados,
beforeSend:function(data){
jQuery("#gif").css( "display", "block");
},
complete: function(data)
{
jQuery("#gif").css( "display", "none");
},
sucess: function(data)
{
}
});//ajax
return false;
});//submit
});//documento pronto
[/inline]

 

Desde já agradeço a quem puder ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não cheguei a analisar o código completo, mas talvez esse seja o problema, pois ja aconteceu comigo:

você está utilizando o document.ready dessa forma:

jQuery(document).ready(function(){ });

sendo assim, todo o código que estiver dentro deve ter o nome jQuery no lugar de $ ficando assim:

jQuery('class').algumacoisa();

ou então vocÊ pode apenas colocar o $ dentro do function e chamalos como $ assim:

jQuery(document).ready(function($){
    $('class').algumacoisa();
});

Talvez seja esse o problema, mas se não resolver ai eu te ajudo a verificar o código :) ve ai boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não cheguei a analisar o código completo, mas talvez esse seja o problema, pois ja aconteceu comigo:

você está utilizando o document.ready dessa forma:

jQuery(document).ready(function(){ });

sendo assim, todo o código que estiver dentro deve ter o nome jQuery no lugar de $ ficando assim:

jQuery('class').algumacoisa();

ou então vocÊ pode apenas colocar o $ dentro do function e chamalos como $ assim:

jQuery(document).ready(function($){
    $('class').algumacoisa();
});

Talvez seja esse o problema, mas se não resolver ai eu te ajudo a verificar o código :) ve ai boa sorte!

Não é esse o problema. Eu estou tentando enviar um id para um formulário de edição de dados sem atualizar a página e não estou conseguindo. Apenas consigo pegar o id selecionado da combobox e enviar, mas não consigo retornar o formulário de edição

Você consegue fazer isso lindamente com AngularJS:

https://angularjs.org/

Não sei nada sobre esse framework :S Tem como me dar alguma palavra chave sobre ele que esteja relacionada com o meu problema para que eu possa pesquisar algo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

da uma lida no site do william Bruno : http://wbruno.com.br/ajax/enviar-formulario-para-php-sem-refresh-jquery-ajax/

 

Acho que pode te ajudar :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você realmente arrumou isso:

jQuery(document).ready(function(){
   $( "#formFilhos" ).change(function() {
   $("#select").text($('#formFilhos option:selected').text());
});
var dados = $( "#formFilhos" ).val(); 

trocando para isso:

jQuery(document).ready(function(){
   jQuery( "#formFilhos" ).change(function() {
   jQuery("#select").text(jQuery('#formFilhos option:selected').text());
});
var dados = jQuery( "#formFilhos" ).val();

ainda continuou dando problema? está dando algum erro no console? ctrl + shift + j

Compartilhar este post


Link para o post
Compartilhar em outros sites

você realmente arrumou isso:

jQuery(document).ready(function(){
   $( "#formFilhos" ).change(function() {
   $("#select").text($('#formFilhos option:selected').text());
});
var dados = $( "#formFilhos" ).val(); 

trocando para isso:

jQuery(document).ready(function(){
   jQuery( "#formFilhos" ).change(function() {
   jQuery("#select").text(jQuery('#formFilhos option:selected').text());
});
var dados = jQuery( "#formFilhos" ).val();

ainda continuou dando problema? está dando algum erro no console? ctrl + shift + j

Vi que tinha um problema no comando de redirecionamento. Eu estava usando assim:

[inline]window.location();[/inline]

Quando na verdade é assim:

[inline]window.location="";[/inline]

E também tive que passar o id pela url:

[inline]window.location="../alteracaodados/alterardadosfilho.php?id="+dados;[/inline]

E pegá-lo na página do formulário de edição com:

$id=$_GET['id'];

Mas isso tudo ainda não me dá o efeito ajax de não atualizar a página, na verdade pra fazer desse jeito nem precisaria utilizar ajax já que a página sempre atualiza.

Mas ainda estou aberta a uma idéia melhor, de modo que não atualize a página quando o formulário de edição é chamado =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O On_submit vai ignorar o return false; atualizando a página

 

Troque o botão de submit <input type="submit" value="submit"/> Por <input type="button" value="enviar" id="btnEnviar"/>

 

Troque a linha jQuery(document).on("submit","#criancas" ,function(){

 

Por $('#btnEnviar').click(function(){ // ou use on("click" você que sabe..

 

remova o return false la do final.

 

e por fim

 

você tem que mostrar o conteúdo do data (retorno):

 

$(suaDiv).html(data);

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.