Ir para conteúdo

POWERED BY:

Arquivado

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

Dexter Morgan

Auto Load após Delete Fancybox

Recommended Posts

Boa tarde, eu consegui montar esse alert com fancybox e funciona certinho:

<script type="text/javascript">
function confirmDelet($id_cliente){
jQuery.fancybox({
'modal' : true,
'content' : "<div id=\"dialog\"><center>Deseja excluir esse cliente?<br /><br /><input class=\"button\" type=\"button\" onclick=\"jQuery.fancybox.close();\" value=\"Cancelar\" />     <input class=\"button\" type=\"button\" onclick=\"location.href='client_delete.php?id_cliente="+$id_cliente+"'\" value=\"Confirmar\" /></center></div>"
});
}
</script>

echo "<a href=\"javascript:exclude;\" onclick=\"confirmDelet($id_cliente);\" style=\"outline:0;\"><img src=\"delete.png\" /></a>";

está tudo ok, porém ele vai para pagina client_delete.php queria que após clicar em cofirmar ja mostrar a mensagem de sucesso ou erro e ja atualizar a tabela na pagina como estou usando plugin fancybox nao sei se consigo fazer isso sem usar outro plugin e dar conflito

 

obs: consegui fazer esse modelo de confirmação modal com esse modelo aqui:

function fancyAlert(msg) {
jQuery.fancybox({
'modal' : true,
'content' : "<div style=\"margin:1px;width:240px;\">"+msg+"<div style=\"text-align:right;margin-top:10px;\"><input style=\"margin:3px;padding:0px;\" type=\"button\" onclick=\"jQuery.fancybox.close();\" value=\"Ok\"></div></div>"
});
}
function fancyConfirm(msg,callback) {
var ret;
jQuery.fancybox({
modal : true,
content : "<div style=\"margin:1px;width:240px;\">"+msg+"<div style=\"text-align:right;margin-top:10px;\"><input id=\"fancyConfirm_cancel\" style=\"margin:3px;padding:0px;\" type=\"button\" value=\"Cancel\"><input id=\"fancyConfirm_ok\" style=\"margin:3px;padding:0px;\" type=\"button\" value=\"Ok\"></div></div>",
onComplete : function() {
jQuery("#fancyConfirm_cancel").click(function() {
ret = false;
jQuery.fancybox.close();
})
jQuery("#fancyConfirm_ok").click(function() {
ret = true;
jQuery.fancybox.close();
})
},
onClosed : function() {
if (typeof callback == 'function'){ callback.call(this, ret); }
}
});
}
function fancyConfirm_text() {
fancyConfirm("Ceci est un test", function(ret) {
alert(ret)
})
}

e eu tenho esse outro aqui que uso para vizualizar os dados via modal passando o ID:

<script type="text/javascript">
$(function(){
$('.boxUF').fancybox({
helpers : {
overlay : {closeClick:false},
title: null
},
keys : {
close : null
},
beforeShow : function(){
var id = $(this.element).attr("rel");
$.ajax({
type: "POST",
url: "client_view.php",
data: { action: "WindowModal", id: id}
}).done(function(data){
$("#modal").html(data);
});
}
});
});
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

UPDATE:

 

só falta o load na pagina, consegui fazer a exclusão no mesmo modal:

 

client.php

		<!-- JS -->

<script type="text/javascript">
function confirmDelet($id_cliente){
jQuery.fancybox({
'modal' : true,
'content' : "<div id=\"dialog\"><center>Deseja excluir esse cliente?<br /><br /><input class=\"button\" type=\"button\" onclick=\"jQuery.fancybox.close();\" value=\"Cancelar\" />     <a href=\"#modal\" rel=\""+$id_cliente+"\" class=\"boxDel button\" style=\"outline:0;\">Confirmar</a></center></div>"
});
}
</script>

<script type="text/javascript">
$(function(){
$('.boxDel').fancybox({
helpers : {
overlay : { closeClick:false },
title: null
},
keys : {
close : null
},
beforeShow : function(){
var id = $(this.element).attr("rel");
$.ajax({
type: "POST",
url: "client_delete.php",
data: { action: "WindowModal", id: id}
}).done(function(data){
$("#modal").html(data);
});
}
});
});
</script>
echo "<a href=\"javascript:exclude;\" onclick=\"confirmDelet($id_cliente);\" style=\"outline:0;\"><img src=\"delete.png\" /></a>";

client_delete.php

<?php

$action = isset($_REQUEST["action"]) ? $_REQUEST["action"] : '';
$id = isset($_POST["id"]) ? (int) $_POST["id"] : '';
switch($action){
case "WindowModal":

?>

		<!-- JS -->

		// ONDE  FICARIA O SCRIPT DE FECHAR O MODAL  E DAR LOAD LEMBRANDO QUE TA SENDO CARREGADO DENTRO DO CLIENT.PHP

<script type="text/javascript">
function confirmRealod(){
jQuery.fancybox({
onClosed : function(){
jQuery.fancybox.close();
parent.location.reload(true);
}
}
</script>

		<!-- PHP DELETE -->

<?php

include "connection.php";

$id = (int)$_POST["id"];
if(empty($_POST["exclude"])){
$sql = "DELETE FROM clientes WHERE id_cliente = '$id'";
$resultado = mysql_query($sql) or die ("$mysql_erro");
if(mysql_affected_rows() > 0){
echo "<div id=\"dialog\"><center><font class=\"sucess\">$delete_sucess</font><br /><br /><input class=\"button\" type=\"button\" onclick=\"confirmReload();\" value=\"Ok\" /></center></div>";
}
else{
echo "<div id=\"dialog\"><center><font class=\"error\">$delete_error</font><br /><br /><input class=\"button\" type=\"button\" onclick=\"jQuery.fancybox.close();\" value=\"Ok\" /></center></div>";
}
}

?>

<?php

break;
}

?>

tentei fazer nessa função confirmReload mas nao vai o:

jQuery.fancybox.close();

quando clicado fecha o modal perfeitamente agora só queria atualizar a pagina dinamicamente "/

Compartilhar este post


Link para o post
Compartilhar em outros sites

o conteudo é exibido no client.php, vou colocar print:

 

1º tela onde exibe os dados ->

 

1.jpg

 

2º tela onde é clicado para deletar ->

 

2.jpg

 

3º tela que aparece apos clicar em confirmar (sendo um iframe: client_delete.php) ->

 

3.jpg

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.