Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, tenho o seguinte trecho de código:
echo "[url="noticias-excluir-confirma.php?id="]<img id=img-excluir src=imagens/excluir.png />Excluir[/url]";e a função em javascript é essa:function alerta_noticias_excluir() { if (confirm("Deseja realmente excluir essa notícia?")) { alert("Notícia excluída com sucesso."); }}Só que estou com um problema. Quando o usuário NÃO deseja excluir a noticia, ela é excluida mesmo assim. Alguem saberia como fazer para a noticia nao ser excluida caso o usuário clique em "Não" na janela de confirmação?Eduardo,
creio que sua dúvida está mais relacionada à PHP.
Olhe:
function alerta_noticias_excluir(){
if(confirm("Deseja realmente excluir essa notícia?")){
//COLOQUE AQUI O CÓDIGO PARA EXCLUIR A MENSAGEM
alert("Notícia excluída com sucesso.")
} else{
//COLOQUE AQUI O CÓDIGO QUANDO A MENSAGEM NÃO FOR EXCLUÍDA
alert("A notícia não foi excluída!")
}
}
Nos comentários você coloca o código PHP para executar ou não a ação de excluir a notícia. Coloquei um alert apenas para ver funcionar as duas possibilidades - true e false.
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
É o seguinte, eu tenho dois arquivos. No primeiro arquivo eu dou a opção pra pessoa excluir uma notícia, no outro arquivo é feito a confimação da exclusão.
O primeiro arquivo chama o segundo com o seguinte código:
echo "<a href=noticias-excluir-confirma.php?id=".$row['id']."><img id=img-excluir src=imagens/excluir.png />Excluir</a>";
O segundo arquivo contém o seguinte código:
<?php
include ("valida-cookies.php");
include ("conecta_mysql.inc");
?>
<script type="text/javascript">
if(confirm("Deseja realmente excluir essa notícia?"))
{
<?php
$sql = "DELETE FROM noticias WHERE id = ".$_GET['id'];
$resultado = mysql_query($sql) or die ();
?>
alert("Notícia excluída com sucesso.");
window.location.href=("javascript:window.history.go(-1)");
}
else
{
alert("A notícia não foi excluída.");
window.location.href=("javascript:window.history.go(-1)");
}
</script>
Aparentemente ele trabalha perfeitamente, mas quando eu clico para não excluir, ele exclui a notícia mesmo assim. As caixas de diálogo aparecem
perfeitamente, mas a ação de excluir acontece em qualquer opção que eu escolher. Como isso é possível se o comando sql para excluir só está rodando dentro da primeira condição?
Estranho...
Coloque um alert no else e veja se ele aparece.
Acho que o problema não está relacionado à JavaScript.
>
Estranho...
Coloque um alert no else e veja se ele aparece.
Acho que o problema não está relacionado à Javascript.
Se eu aperto em "Cancelar" no confirm, ele aparece a mensagem do alert do else. Mas ele apaga a noticia mesmo assim, como se o trecho php estivesse dentro do else também.
Se a mensagem aparece o erro não está no JavaScript. Provavelmente está no código server side. Peça para algum moderador mover para a área onde tem terá mais suporte. :D
>
Se a mensagem aparece o erro não está no Javascript. Provavelmente está no código server side. Peça para algum moderador mover para a área onde tem terá mais suporte. /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/biggrin.gif&key=cb0fdb2382312b39ddcb15831fcae62157015f17d2417528782628663387e929" alt="Imagem Postada" />
Como eu peço pra algum moderador mover para a área correta?
Espere que algum quando ler o tópico irá analisar e mover. Mas não crie um novo tópico em outra área. :)
Eu irei mover para a área específica.
Entretanto, é sempre bom lembrar que PHP roda antes de JavaScript. Nesse caso não é diferente, pois o código PHP, por rodar do lado do servidor, irá rodar antes, não respeitando os blocos condicionais do JS.
Para corrigir o problema, você poderá criar um link de exclusão, para uma página específica, responsável pela exclusão do arquivo, caso a condição seja verdadeira.
Vou mover para o local correto, para que o pessoal possa te ajudar melhor.
Movido:
JavaScript/DHTML http://forum.imasters.com.br/public/style_emoticons/default/seta.gif PHP
Não entendi sua dúvida.
Testei código e o alert só é exibido quando clica em SIM.