Ir para conteúdo

Arquivado

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

adavis

Janela modal com envio de dados ao banco

Recommended Posts

Olá, boa tarde.

 

Tenho a seguinte situação:

 

Uma página index, com um botão que quando clicado abre uma janela modal!

Dentro desta janela tem um formulário que são enviados dados ao banco de dados.

 

O problema é que quando eu dou submit no formulário, tenho um alert dizendo que o processo foi realizado com sucesso e redirecionando para o index.php. Mas eu queria que ele redirecionasse para a janela modal, que a janela modal ficasse aberta e não fechada após o submit.

 

Alguém pode me dar uma luz??

 

Bjs

 

 

 
<script type="text/javascript">
$(document).ready(function(){
$("a[rel=modal]").click( function(ev){
ev.preventDefault();
 
var id = $(this).attr("href");
 
var alturaTela = $(document).height();
var larguraTela = $(window).width();
 
//colocando o fundo preto
$('#mascara').css({'width':larguraTela,'height':alturaTela});
$('#mascara').fadeIn(1000); 
$('#mascara').fadeTo("slow",0.8);
 
var left = ($(window).width() /2) - ( $(id).width() / 2 );
var top = ($(window).height() / 2) - ( $(id).height() / 2 );
 
$(id).css({'top':top,'left':left});
$(id).show(); 
  });
 
  $("#mascara").click( function(){
  $(this).hide();
  $(".window").hide();
  });
 
  $('.fechar').click(function(ev){
  ev.preventDefault();
  $("#mascara").hide();
  $(".window").hide();
  });
});
</script>
 
</script>
 
 
</head>
 
<body>
<div id="topo"><center><img src="img/logo.png"></center></div>
<div id="fita"></div>
 
<div id="center">
    <a href="#roupas" rel="modal"><img src="img/vest.png"></a>
    <a href="diversos" rel="modal"><img src="img/diversos.png"></a>
    <a href="higiene" rel="modal"><img src="img/higiene.png"></a>
    
    <a href="passeio" rel="modal"><img src="img/passeio.png"></a>
    <a href="quarto" rel="modal"><img src="img/quarto.png"></a>
</div>
 
<div class="window" id="roupas">
<a href="#" class="fechar"><img src="img/close.ico"></a>
<?php 
    include "conecta.php";
    
    @$id = $_POST['id'];
    @$acao = $_POST['acao'];
    
    @$id_get = $_GET['id'];
    @$acao_get = $_GET['acao'];
    
    if(@$_GET['acao'] == "check"){
        $id = $_GET['id'];
            
        $qryDelete =  mysql_query("update vestuario set quant = (select coalesce(max(quant) -1,1)) where id = '".$id."' ") or die (mysql_error()); 
        echo "<script language='JavaScript'>alert('ok'); location.href='index.php';</script>";
    }
 
    echo"<h1>Roupinhas</h1>";
    $sql = mysql_query ("SELECT * FROM vestuario"); 
    
    $n = mysql_num_rows($sql);
            echo"
            <form method='post'>
            <table cellspacing='0' cellpadding='0' id='tabela' class='tablesorter'> 
            <thead>
                <tr>
                    <th>Item</th>
                    <th>Tamanho</th>
                    <th>Quantidade</th>
                    <th></th>
                </tr>
            </thead>
            <tbody>";
    
    while($l = mysql_fetch_array($sql)){
    echo "
                <tr>
                    <td>".$l['item']."</td>
                    <td>".$l['tamanho']."</td>
                    <td>".$l['quant']."</td>";
                    if ($l['quant'] >0)
                        echo "<td><a  href='?id=$l[id]&acao=check'>Comprei</a></td>";
                    else
                        echo "<td>Quantidade já atingida!</td> 
                </tr> ";   
    }
    ?>
    </tbody> 
 
    </table>
    </form>
</div>
 
<div id="mascara"></div>
 
 
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem duas formas de fazer isso:

1- Utilizando AJAX: Você aguarda a resposta da requisição e, então, atualiza o conteudo HTML de acordo com sua necessidade.

2- Utilize iframe dentro da modal. Desse forma, o submit (se estiver dentro do iframe) vai atualizar apenas o próprio e não a página inteira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

putz.. e não conhece outro jeito? não sei lidar com AJAX :/

 

Uai, o @Rafael Sirotheau deu duas alternativas...

 

Existem duas formas de fazer isso:

 

1- Utilizando AJAX: Você aguarda a resposta da requisição e, então, atualiza o conteudo HTML de acordo com sua necessidade.

 

2- Utilize iframe dentro da modal. Desse forma, o submit (se estiver dentro do iframe) vai atualizar apenas o próprio e não a página inteira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A outra opção era utilizar iframe.

 

Ou vc estuda ajax, ou tenta com iframe.

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.