Ir para conteúdo

Arquivado

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

flavialieggio

[Resolvido] Confirmar exclusao

Recommended Posts

Ola Galerinha!!!!

 

Tenho um codigo de confirmar exclusao assim de acordo com o que pesquisei na net:

 

<script language="javascript">
function aviso(id)
{
	if(window.confirm(' Deseja realmente excluir? '))
	{
		//window.alert(' Continuando.. ');
		location.href="galeria/excluir.php&imagem="+id;
	}
	else
	{
		return false;
	}
}
//-->
</script>

Link:

echo '<a href="java script:aviso('.$arr_imagens[$i].')" class="link_geral">';

POr que que nao funciona nem no IE nem no Firefox??? :blink:

 

[]´s!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

está errado o link...

location.href="galeria/excluir.php?imagem="+id;
Em vez de & você deve colocar o ? para indicar que é um parâmetro na URL que vai receber um valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Willian,

 

Entao fiz a correção mas nao aconteceu nada!!! da o seguinte erro no console de erros:

 

Linha: 1

Caracter: 9

Error: ')' esperado

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script language="javascript">

function aviso(id){

if(confirm("Deseja realmente excluir?")){

location.href = "galeria/excluir.php&imagem="+id;

}

}

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao entendi Ted k' ...assim tbm nao funciona.... teria que alterar algo no link tbm??? :wacko:

 

Num funciona de jeito nenhum.... :(

 

Vou mandar o arquivo todo:

 

<?php
include("galeria/postar.php");

$galeria = intval($_GET['galeria']);

function get_file_extension($file)
{
	$file = strtolower($file);
	$extension = split("[/\\.]", $file);
	$n = sizeof($extension) - 1;
	return $extension[$n];
}
function is_valid_file_extension($file, $types = array())
{
	$ext = get_file_extension($file);
	return in_array($ext, $types) ? true : false;
}

$cfg = array();
$eventos = array();
$cfg['num_colunas'] = 2;
$cfg['file_exts'] = array('jpg','jpeg','gif', 'png');
include("galeria/postar.php");
reset($eventos);
?>
<script type="text/javascript">
function show(url,larg,alt)
{
	newWindow = window.open(url,'',"toolbar=0 ,menubar=0, scrollbars=0, resizable=0, width="+ larg +",height="+ alt);
}

function aviso(id)
{
	if(confirm(' Deseja realmente excluir? '))
	{
		location.href="galeria/excluir.php?imagem="+id;
	}
}
//-->
</script>
<label class="topico_tabela">Galeria - <?php echo $eventos[$galeria]['titulo']; ?></label>
<br>
<br>
<label class="font_descricao" style="color:#FF0000">OBS: Para excluir uma imagem clique nela!</label>
<div id="quadrog">
	<div id="miniaturas">
	<?php
	if (isset($_GET['galeria']))
	{
		$galeria = intval($_GET['galeria']);
	}
	else
	{
		die("Galeria não informado");	
	}
	
	if (file_exists("galeria/".$eventos[$galeria]['pasta']))
	{
		$dir = @opendir("galeria/".$eventos[$galeria]['pasta']);
	}
	else
	{
		die("Pasta não encontrada");
	}

	$arr_imagens = array();
	while (false !== ($file = readdir($dir)))
	{
		if ($file != '.' && $file != '..')
		{
			if (is_valid_file_extension($file, $cfg['file_exts']))
			{
				$arr_imagens[] = $file;
			}
		}
	}
	echo "";
	$k = sizeof($arr_imagens);
	for ($i=0; $i<$k; $i++)
	{
		echo '<a href="java script:aviso('.$arr_imagens[$i].')" class="link_geral">';
		echo '<img src="galeria/'.$eventos[$galeria]['pasta'].'/'.$arr_imagens[$i].'" width="130" height="90" border="0"></a>'."\n";
	}
	?>
	</div>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste ela apenas assim e veja se funciona:

 

<script language="javascript">
	if(window.confirm(' Deseja realmente excluir? '))
	{
		//window.alert(' Continuando.. ');
		location.href="galeria/excluir.php?imagem=";
	}
	else
	{
		
	}

//-->
</script>

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem um link disso on-line? :mellow:

 

Me diga uma coisa: o parâmetro que você passa aqui:

aviso('.$arr_imagens[$i].')
Ele é realmente um número inteiro? Se não for, há um erro ali, pois você deve colocar o valor entre aspas, ficando assim:

aviso(\''.$arr_imagens[$i].'\')

Ah! Ao invés de chamar a função no atributo href, já tentou colocá-la em um evento onclick? Nesse caso, você nem precisaria passar parâmetros para sua função, pois ficaria assim:

 

JS:

<script type="text/javascript">
function aviso()
{
	if(window.confirm(' Deseja realmente excluir? '))
	{
		return true;
	}
	else
	{
		return false;
	}
}
</script>
HTML:

echo "<a href=\"galeria/excluir.php&imagem=" . $arr_imagens[$i] . "\" class=\"link_geral\" onclick=\"aviso();\">";
Veja que o link, que antes estava dentro da função aviso(), agora ele está no atributo href do link, e o parâmetro é passado diretamente nele. Eu escapei as aspas duplas porque não gosto de utilizar aspas simples, mas isso é mania minha, não liga não... http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif (É para padronizar...)

 

Teste aí, veja se dá certo.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola pessoal!!

Muito obrigada pela colaboração de todos!!! :D

 

Entao, Darldemo dessa maneira ja havia testado tbm mas nao tive sucesso....

 

E Paulo tive progresso com o teu exemplo :rolleyes: .. Consegui com que ele mostrasse a confirmação, mas mesmo clicando em Cancelar ele vai pra página de exclusao.. tentei acrescentar o return false assim: onclick=\"aviso();return false; \" .. dai qdo aperto cancelar ele realmente nao vai pra página de exclusao, mas qdo aperto Confirmar ele tbm nao vai.... :(

 

Eu escapei as aspas duplas porque não gosto de utilizar aspas simples, mas isso é mania minha, não liga não... assobiando.gif (É para padronizar...)

sem problemas .... :) ... e importante mesmo padronizar ....

 

[]´s galera!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Engraçado, porque eu uso esse recurso do confirm também, e funciona...

 

Bom, não existe lógica, mas, tente dessa forma (é assim que está no script que uso):

<script type="text/javascript">
function aviso()
{
	Confirm = confirm("Deseja realmente excluir?");

	if(Confirm) { return true; } else { return false; }
}
</script>
Não custa nada tentar...

 

Ah! E no HTML, deixe como disse, sem adicionar o return false, pois, com isso, realmente, ele nunca irá retornar nada...

 

Agora, se não funcionar, posso arriscar uma opinião (reforço que é um palpite, nunca testei antes): qual é o Doctype que você está utilizando? :mellow: Não sei se o DTD influencia em execução de scripts, mas... Como não tá funcionando mesmo, não custa nada verificar, não é mesmo? Eu só trabalho com DTD XHTML 1.0 Strict...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu problema está apenas na incompatibilidade de aspas simples x aspas duplas no link. Além disso, não há necessidade do "else" no JavaScript.

 

O código abaixo está funcionando corretamente:

<script language="javascript">
function aviso(id) {
	if(window.confirm(' Deseja realmente excluir? ')) {
		//window.alert(' Continuando.. ');
		location.href="galeria/excluir.php&imagem="+id;
	}
	
}
//-->
</script>

<?php
$arr_imagens = array();
$arr_imagens[0] = "foto001.jpg";
$arr_imagens[1] = "foto001.jpg";
$arr_imagens[2] = "foto001.jpg";

echo "<a href='java script:aviso(\"".$arr_imagens[0]."\")' class='link_geral'>Esse é o meu link1</a>";

?>

Dica: olha só... passar esse tipo de informação via GET não é a melhor opção não, viu?! Se um usuário entrar na página com esse parâmetro passado diretamente, a imagem seria apagada sem confirmação.

Cuidado para que isso não aconteça...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem, não é a forma mais segura, de fato, esse tipo de recurso tem que ser muito bem controlado. Mas o fato é que, fazendo da maneira que eu disse, com uso do atributo onclick e mantendo o endereço no href, você usa o JavaScript de maneira não-obstrutiva, ao contrário da maneira indicada acima, pois, em caso de o usuário trabalhar com suporte a JS desabilitado, ele não teria acesso a este recurso.

 

Além disso, para deixar o código menos "sujo", poderia ser utilizada a biblioteca JQuery, sendo desnecessário o uso do evento onclick. Mas vale ressaltar que só seria interessante utilizar esta biblioteca se fossem utilizados outros recursos da mesma, pois não é justificável o carregamento dos arquivos necessários só para controlar isto, por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola galera!!! B)

 

Bom Paulo o meu DOCTYPE eo mesmo citado por voce.. :) ....

 

Mas de acordo com o modelo de Klonder esta funcionando perfeitamente... muito obrigada Klonder ^_^ ...

 

O erro estava na atribuição das aspas

href="java script:aviso('.$arr_imagens[$i].')"
Onde o Paulo e o Klonder atribuirim corretamente :)

href='java script:aviso(\"".$arr_imagens[0]."\")'

se notarem eu nao estava atribuindo aspas corretamente no meu 1º modelo... http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

E apos tirar o else do javascript, colocando como no modelo do Klonder funcionou super certo!

 

muito obrigada galera por toda a colaboração e atenção de voces!!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Maravilhoso esse apoio! ^_^

 

[]´s pra todos!!!!

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.