Ir ao conteúdo
  • Cadastre-se
Joob

PHP Hide Form quando faço Submit

Recommended Posts

Boas Malta,

 

Precisava de uma ajuda no form..

Imaginemos que tenho um form simples do tipo:

<form action="" method="post" role="form" class="mt-2">
  <div class="form-group">
    <label><small class="card-text text-muted">Username</small></label>
    <input type="text" name="username" class="form-control" placeholder="your username" required/>
  </div>
  <div class="form-group mt-2">
    <button type="submit" name="submit" class="btn btn-default btn-block border-0 my-1">Enviar</button>
  </div>
</form>

Ou seja, preciso que quando clico do submit, quando a informação é enviada, preciso que o form fique hide quando a tabela "users" na row "end_date" ficar a "0" ..

 

Por exemplo, quando o form fica activado (aparece ao user para colocar a informação), e na tabela da basedados "users" na row "end_date" fica a "1" e pretendo que quando clico no submit que o form fique hide e que só volte aparecer quando o "end_date" fique a "0"...

 

Não sei se deu para entender..

Obrigado.

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi direito, mas tente isso:

<form id="myForm" action="" method="post" role="form" class="mt-2">
  <div class="form-group">
    <label><small class="card-text text-muted">Username</small></label>
    <input type="text" name="username" class="form-control" placeholder="your username" required/>
  </div>
  <div class="form-group mt-2">
    <button onclick="hideForm()" type="submit" name="submit" class="btn btn-default btn-block border-0 my-1">Enviar</button>
  </div>
</form>
<script>
  function hideForm(){
     document.getElementById("myForm").style.display = "none";
  }
</script>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desse jeito não funcionou ..

 

Imagina.. o form sõ fica activo (aparece) por exemplo.. quando tenho a tabela "end_date=1" e quero que quando envio a informação do form que o form fique hide até a tabela "end_date=0" for realmente 0..

 

Até tenho uma função em javascript que quando ele chega ao "end" ele vai buscar o php (do url) para alterar as tabelas da basedados.. secalhar até dá para jogar com esta função.. de quando chegar a esta função voltar a mostrar o form.

function timeisUp() {
  //Code to be executed when timer expires.
  var type = 'end';
  $.ajax({
    url: "https://site.com/test",
    type: "POST",
    async:false,
    data: "type="+type+"&user_id="+<?=$user_id?>,
    success: function(html)
    {
    window.location.reload(true);
  }
         });
}

 

Não sei se agora deu para entender melhor..

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, amigo.

Poderia nos dizer o que é essa tabela ?

Você fez diversos comentários sobre ela, e parece que todos os dados estão nela, mas ainda não nos informou o que é.

Baseado em que estaria fazendo a requisição utilizando esse método ai em ajax, poderia adicionar o seguinte:

function timeisUp() {
  //Code to be executed when timer expires.
  var type = 'end';
  $.ajax({
    url: "https://site.com/test",
    type: "POST",
    async:false,
    data: "type="+type+"&user_id="+<?=$user_id?>,
    success: function(html) {
		$('table').attr('end_date', '0'); // Aqui ele iria interagir com o atributo, mas ainda não sei o que ele é, e o que exatamente você quer !
    }
  });
}

O que seria end_date ? Não faço ideia !

Tente nos apresentar melhor seu código, dessa forma ficará difícil para nós te ajudar.

Eu vi que tem um redirecionamento no success do ajax, não faz sentido usar ajax se irá ser redirecionado, seria um caso muito específico pra isso, login por exemplo ...

Seja mais detalhado em sua dúvida, e passe todas informações que considere relevante, nós somos burros sobre seu código, então seja bem específico para podermos responder corretamente.

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi, quer esconder o form QUANDO o tal campo tiver o valor zero e se for valor 1 mostrar o form.

 

Nesse caso, não seria MUITO mais simples, quando fazer o submit, no bloco de success, disparar uma nova requisição assíncrona para fazer um update set no campo para o valor zero  e  esconder o form?

Podes utilizar o hide()  ou simplesmente definir um CSS com o atributo visibility: hidden.

 

O que não faz muito sentido é usar o ajax, para fazer uma requisição não assíncrona. Geralmente quando usamos ajax é para eliminar o "refresh" de um sistema de login,  um cadastro , uma edição de campo e etc...

 

Ademais, este atributo success  é obsoleto. Atualmente deve usar o done().

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×