Ir para conteúdo

POWERED BY:

Arquivado

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

makssie

Steps Formulário não está passando os dados

Recommended Posts

Bom dia.

 

Estou com um problemão.

 

É o seguinte.

 

Possuo esses scripts na minha página.

 

Função : Em um formulário de steps, preciso que as variáveis do primeiro step vão se concatenando até o último step com os outros steps.

 

Pois quando faço o submit no último step, ele só pega as informações do último formulário, e queria pegar as informações de todos os formulários para que no final "imprime" para uma variável em .php

 

Ou seja.

 

O último formulário ia ter um action para um arquivo php onde mostra a variável de tudo que foi pego nos steps.

 

Estou achando que errei algo neste código, podem dar uma averiguada?

 

Resumindo quero guardar as informações de todos os steps para uma única variável cujo posso puxar em PHP no final. Quando avanço um step, eu perco as informações do formulário anterior :/

<script type="text/javascript">
  jQuery(document).ready(function(){
    jQuery('#email-form-4').submit(function(){
      var dados = jQuery( this ).serialize();

      jQuery.ajax({
        type: "POST",
        data: dados,
        success: function( data )
        {
          $(".step2").css("display", "none");
          $(".step3").css("display", "block");
        }
      });
      
      return false;
    });
  });

  jQuery(document).ready(function(){
    jQuery('#email-form-5').submit(function(){
      var dados = jQuery( this ).serialize();

      jQuery.ajax({
        type: "POST",
        data: dados,
        success: function( data )
        {
          $(".step3").css("display", "none");
          $(".step4").css("display", "block");
        }
      });
      
      return false;
    });
  });

 
  jQuery(document).ready(function(){
    jQuery('#email-form-6').submit(function(){
      var dados = jQuery( this ).serialize();

      jQuery.ajax({
        type: "POST",
        data: dados,
        success: function( data )
        {
          $(".step4").css("display", "none");
          $(".step5").css("display", "block");
        }
      });
      
      return false;
    });
  });

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Putz, acho que não vai resolver. Pois de alguma forma no submit do último step terei que jogar as informações para uma variável só. E não sei se isso atualiza e como jogar para o final. E meus formulários são tudo radio e checkbox.

 

 

Seria este o site. Para quem quiser ver como está os formulários :/ Sendo o último step preciso dar um update no meu sistema.

 

www.sopj.com.br/lp/emailsolutions/step2.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só armazenar, juntar e submeter, qual a dificuldade?

 

Tipo...

 

No último step terei um input hidden.

 

No value dele coloco o que? Não entendi como fazer isso direito. Sim, sou meio novato nisso.

 

<input hidden name="comentarios" id="comentarios" value="????????" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc já envia um post a cada form... tecnicamente não teria necessidade de enviar tudo de novo no último..

 

Esse fluxo não está legal.

Eu trocaria os forms dos outros por fieldsets ou sections, e ai tudo na verdade, seria um único form.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você já envia um post a cada form... tecnicamente não teria necessidade de enviar tudo de novo no último..

 

Esse fluxo não está legal.

Eu trocaria os forms dos outros por fieldsets ou sections, e ai tudo na verdade, seria um único form.

 

Então, só que no step2 eu fiz um hidden input para imprimir o que tem no $_POST, e chegou nada :/ Mas quando coloco um alert (dados); aparece, mto estranho ahuuah.

 

Enfim, vou tentar fazer isso do section. Só que o meu script do ajax terá que ser modificada né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Yep.

Não é que seja estranho, é só que vc não entendeu como funciona...

JS roda no navegador. PHP roda no servidor.

 

Quando vc fez o ajax, vc manteve tudo no navegador, então o php não tem acesso a processar nada, até que vc envie alguma coisa a ele. E a página em si, nunca foi enviada para o php, por isso que o $_POST não "funciona".

O alert funciona, pq tudo está no cliente.. é assim que as coisas são..

 

Faça dessa forma que eu falei:

-> Um único form.

-> Várias <section></section>, que vc esconde e mostra.

-> No último passo e somente no último passo, que vc faz o ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Creio que entendi, estava confuso nisso mesmo.

 

Mas eu gostaria de processar as informações só no último step mesmo. Tem algum jeito mais "fácil" ?

 

Por que é assim, de qualquer jeito só preciso juntar todos os valores selecionados de cada step para um $comentarios que colocarei no arquivo .php do último step e eu iria colocar o action que realmente preciso usar nele.

 

Só estava usando ajax para que o submit dos forms desse um hide e show correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então vc estava usando o ajax desnecessariamente.

 

O "jeito fácil" é o que eu disse:

-> Um único form

-> Várias <div></div>, <section></section>.. enfim.. tanto faz a tag, sendo que cada uma é um passo.

-> Vc esconde e mostra algum desses, mas sem ajax, não tem pq ter ajax nisso. Só js.

-> No último vc submete o form inteiro.

 

Pronto, feito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então você estava usando o ajax desnecessariamente.

 

O "jeito fácil" é o que eu disse:

-> Um único form

-> Várias <div></div>, <section></section>.. enfim.. tanto faz a tag, sendo que cada uma é um passo.

-> você esconde e mostra algum desses, mas sem ajax, não tem pq ter ajax nisso. Só js.

-> No último você submete o form inteiro.

 

Pronto, feito.

 

Opa, isso mesmo que vou fazer.

 

 

Muito obrigado.

 

Mas só aproveitando.

 

Por exemplo, no input submit do form, eu só deixo para mostrar no último step certo? Então terei que criar um botão novo para executar o .js para cada step. Isso né?

 

Nossa, até clareou minha mente. Por que me entregaram o site com várias forms, muita noobice até kkk, mas vivendo e aprendendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

=) isso ai..

 

Cada step vai ter um botão para esconder o passo atual e mostrar o próximo.

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.