Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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)
{
window.location("http://www.meusite.com.br/view/alteracaodados/alterardadosfilho.php");
}
});//ajax
return false;
});//submit
});//documento pronto[/inline]
Desde já agradeço a quem puder ajudar.
Você consegue fazer isso lindamente com AngularJS:
>
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:
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?
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 :)
>
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 :)
Já estou utilizando isso nos meus formulários =/
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
>
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 =)
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);
Notei um erro no seu código bem no ponto que retorna
vc colocou
sucess: function(data){
o certo é
success: function( data ) {
2 C^
Obrigada pessoal pela ajuda.
Já resolvi.
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:
Talvez seja esse o problema, mas se não resolver ai eu te ajudo a verificar o código :) ve ai boa sorte!