Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 75

Problema jQuery mais require_once

06-05-2010 18:20

Bom galera meu problema é o seguinte, tenho uma página de consulta onde possui duas janelas modais nela, uma para mim 'Confirmar uma Exclusão' e outra para 'Confirmar o Pagamento'.

Ambas estão funcionando perfeitamente, o único problema, é que eu as chamo por 'require_once' (PHP).
Mesmo chamando ambas, em DIV diferentes, sempre a janela modal que aparece é a primeira do 'require_once'.

Por exemplo, supondo que tenho os 'require_once' da seguinte forma abaixo:

require_once "arquivo_janela_pagamento.php" require_once "arquivo_janela_excluir.php"

Se eu eu clicar para 'excluir' vai aparecer a janela modal como se fosse para 'confirmar o pagamento' em vez da janela para 'confirmar a exclusão'. Mas, caso eu mude a ordem dos 'require_once' ai sim chama a janela modal de excluir.

Então o que eu gostaria era quando eu clicasse para 'Confirmar Exclusão' ou 'Confirmar Pagamento' me aparecesse a janela correta, independente da ordem dos 'require_once'.

Abaixo estão os meus códigos:

Código jQuery Janela 'Confirmar Exclusão'

var clienteid_global = 0; jQuery(document).ready(function() { //seleciona os elementos a com atributo name="modal" jQuery('a[name=modal], input[name=modal]').click(function(e) { //cancela o comportamento padrão do link e.preventDefault(); //armazena o atributo href do link var id = jQuery(this).attr('id'); //armazena o id do cliente clicado clienteid_global = jQuery(this).attr("rel"); //armazena a largura e a altura da tela var maskHeight = jQuery(document).height(); var maskWidth = jQuery(window).width(); //Define largura e altura do div#mask iguais as dimensões da tela jQuery('#mask').css({'width':maskWidth,'height':maskHeight}); //efeito de transição jQuery('#mask').fadeIn(1000); jQuery('#mask').fadeTo("slow",0.8); //armazena a largura e a altura da janela //var winH = jQuery(window).height(); //var winW = jQuery(window).width(); //centraliza na tela a janela popup //jQuery(id).css('top', winH/2-jQuery(id).height()/2); //jQuery(id).css('left', winW/2-jQuery(id).width()/2); jQuery(id).fadeIn(2000); }); //se o botão fechar for clicado jQuery('.window .close').click(function (e) { //cancela o comportamento padrão do link e.preventDefault(); jQuery('#mask').hide(); jQuery('.window').hide(); }); //se div#mask for clicado jQuery('#mask').click(function () { jQuery(this).hide(); jQuery('.window').hide(); }); //se o botão 'Confirmar' for clicado então dá o submit no form jQuery('#btn_confirma').click(function() { jQuery('form#exclui-cliente').submit(function(){ var cliente_id = clienteid_global; jQuery.ajax({ type:"POST", url:"excluir-cliente-bd.php", data:{clienteid:cliente_id}, success: function(atual){ jQuery('#retorno').html(atual); jQuery('.load-'+cliente_id).remove(); jQuery('#mask').hide(); jQuery('.window').hide(); } }) return false; }); }); });

Código jQuery Janela 'Confirmar Pagamento'

var clienteid_global = 0; jQuery(document).ready(function() { //seleciona os elementos a com atributo name="modal" jQuery('a[name=modal], input[name=modal]').click(function(e) { //cancela o comportamento padrão do link e.preventDefault(); //armazena o atributo href do link var id = jQuery(this).attr('id'); //armazena o id do cliente clicado clienteid_global = jQuery(this).attr("rel"); //armazena a largura e a altura da tela var maskHeight = jQuery(document).height(); var maskWidth = jQuery(window).width(); //Define largura e altura do div#mask iguais as dimensões da tela jQuery('#mask').css({'width':maskWidth,'height':maskHeight}); //efeito de transição jQuery('#mask').fadeIn(1000); jQuery('#mask').fadeTo("slow",0.8); //armazena a largura e a altura da janela //var winH = jQuery(window).height(); //var winW = jQuery(window).width(); //centraliza na tela a janela popup //jQuery(id).css('top', winH/2-jQuery(id).height()/2); //jQuery(id).css('left', winW/2-jQuery(id).width()/2); jQuery(id).fadeIn(2000); }); //se o botão fechar for clicado jQuery('.window .close').click(function (e) { //cancela o comportamento padrão do link e.preventDefault(); jQuery('#mask').hide(); jQuery('.window').hide(); }); //se div#mask for clicado jQuery('#mask').click(function () { jQuery(this).hide(); jQuery('.window').hide(); }); jQuery('#retorno').hide(); jQuery('#btn_pagamento').click(function() { jQuery('form#pagamento-cliente').submit(function(){ var campo_pagamento = jQuery(this).attr("name"); var campo_valor = jQuery(this).attr("value"); var campo_id = clienteid_global; jQuery.ajax({ type:"POST", dataType: 'json', url:"alterar-status-pagamento.php", data:{nome:campo_pagamento , valor:campo_valor , idcampo:campo_id}, success: function(atual){ jQuery('.up-'+campo_id).html(atual.dataVenc); jQuery('.load-'+campo_id).html(atual); jQuery('#mask').hide(); jQuery('.window').hide(); //jQuery('#retorno').fadeIn(2000); //jQuery('#retorno').fadeOut(6000); } }) return false }); }); });

Página que chamo com require_once para 'Confirmar Exclusão'

<!-- Janela Modal com Bloco de Nota --> <div id="dialog2" class="window"> <b>Excluir Registro.</b><br /><br /> <b>Voce</b>, deseja excluir este cliente ?<br /> <?php //echo $clienteid; ?> <br /><br /><br /> <form id="exclui-cliente" name="exclui-cliente" method="post" action=""> <input type="button" name="close" value="Cancelar" class="close"/> <input type="submit" name="Excluir" id="btn_confirma" rel="<?php echo $clienteid ?>" value="Confirmar" class="submit" /> </form> </div> <!-- Fim Janela Modal com Bloco de Nota -->

Página que chamo com require_once para 'Confirmar Pagamento'

<!-- Janela Modal com Bloco de Nota --> <div id="dialog2" class="window"> <b>Confirmar Pagamento.</b><br /><br /> <b>Voce</b>, deseja desconfirmar o pagamento deste cliente ?<br /> <?php //echo $clienteid; ?> <br /><br /><br /> <form id="pagamento-cliente" name="pagamento-cliente" method="post" action=""> <input type="button" name="close" value="Nao" class="close"/> <input type="submit" name="Excluir" id="btn_pagamento" rel="<?php echo $clienteid ?>" value="Sim" class="submit" /> </form> </div> <!-- Fim Janela Modal com Bloco de Nota -->

Maneira como Chamo ambas com 'require_once'

<div id="boxes-excluir"> <?php require_once "janela-modal-excluir-cliente.php"; ?> <!-- Máscara para cobrir a tela --> <div id="mask"></div> </div> <div id="boxes-pagamento"> <?php require_once "janela-modal-confirmar-pagamento.php"; ?> <!-- Máscara para cobrir a tela --> <div id="mask"></div> </div>

Código CSS

#mask { position:absolute; margin: -500px 0 0 -212px; z-index:9000; background-color:#000; display:none; } #boxes-excluir .window { position:absolute; margin: 0 0 0 -230px; /*width:440px; height:200px;*/ display:none; z-index:9999; padding:20px; } #boxes-pagamento .window { position:absolute; margin: 0 0 0 -230px; /*width:440px; height:200px;*/ display:none; z-index:9999; padding:20px; } #detalhes-pessoais .window { position:absolute; left:0; top:0; /*width:440px; height:200px;*/ display:none; z-index:9999; padding:20px; } #boxes #detalhes-pessoais { width: 800px; height: 100%; background: #FFF; margin: 0 auto; margin-left: -25px; } #boxes-excluir #dialog2 { background:url(../imagens/notice.png) no-repeat 0 0 transparent; width:326px; height:229px; padding:50px 0 20px 25px; } #boxes-pagamento #dialog2 { background:url(../imagens/notice.png) no-repeat 0 0 transparent; width:326px; height:229px; padding:50px 0 20px 25px; } .close { display:inline-block; font-family: Helvetica, Arial, sans-serif; font-size: 0.9em; width: 130px; margin: 0; color: #000; font-weight: bold; background: #D2D2D2; border: 2px solid #FFF; padding: 8px; cursor: pointer; -webkit-border-radius: 5px; } .close:hover{ color: #FFF; background: #888; }

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17664
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema jQuery mais require_once

06-05-2010 18:31

Vendo aqui me pareceu que os ids das divs para confirmar ou excluir são os mesmos, altera um deles. Faz uma verificação para que nenhuma variável se repita nas chamadas do jQuery, tipo, se tem:

var id = jQuery(this).attr('id');

No segundo bloco passa a ser

var id2 = jQuery(this).attr('id2');
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 75 postagens
Mais de 75 postagens
Tópico Autor
Mensagens: 75

Problema jQuery mais require_once

06-05-2010 20:40

Realmente o problema era este, bastou mudar o nome do ID das DIV's ficando da seguinte forma abaixo.
<div id="boxes-excluir"> <?php require_once "janela-modal-excluir-cliente.php"; ?> <!-- Máscara para cobrir a tela --> <div id="mask"></div> </div> <div id="boxes-pagamento"> <?php require_once "janela-modal-desconfirmar-pagamento.php"; ?> <!-- Máscara para cobrir a tela --> <div id="mask"></div> </div>

Valeu web ;) .. té mais.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17664
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema jQuery mais require_once

06-05-2010 21:05

Boa
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado