Ir para conteúdo


Revista PROGRAMAR - Edição 45 (Maio 2014): Download já disponível! Visita também o novo website da revista.

- - - - -

alert box


  • Por favor inicie sessão para responder
13 respostas a este tópico

#1 jcfr

jcfr

    Boolean User

  • Membro
  • PipPipPip
  • 201 mensagens

Publicado 23 de Setembro de 2009 - 19:14

boas...

sou um noob completo no java script
no entanto sei que para fazer uma caixa de alerta utilizasse o codigo em baixo:


Código (Javascript):
<script language="Javascript">

                 function erro () {
       
                        alert("<?php echo "$msg" ?>!");
}
</script>

este é um alert simples que apenas mostra a mensagem que enviar para a função

o que eu queria era um alert que escrevesse uma mensagem do genero, "de certeza que pretende alterar o produto?" com duas opções, sim e nao e depois receber o valor escolhido, se alguem me souber dizer como fazer isso agradecia.

#2 softklin

softklin

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3952 mensagens

Publicado 23 de Setembro de 2009 - 19:23

Podes usar o confirm de javascript:
http://www.tizag.com/javascriptT/javascriptconfirm.php

Não é bem 'sim' e 'não', e cada browser pode mostrar a caixa à sua maneira, mas serve para o que pretendes. O valor escolhido será true, se carregar em OK, e false, se carregar em cancel, ou fechar a caixa de diálogo com o botão de fechar.

#3 jcfr

jcfr

    Boolean User

  • Membro
  • PipPipPip
  • 201 mensagens

Publicado 23 de Setembro de 2009 - 19:25

vou experimentar obrigado

#4 jcfr

jcfr

    Boolean User

  • Membro
  • PipPipPip
  • 201 mensagens

Publicado 23 de Setembro de 2009 - 20:00

ja consegui com exemplo que foi dado.
agora estou com outro problema, quando carrego em ok quero enviar para outra página, isso ja consegui, mas quero enviar para essa nova pagina um valor que vou buscar atraves de php mas assim que insiro codigo php o script ja nao funciona, a ideia era do genero:


Código (Javascript):
<script type="text/javascript">
<!--
function confirmation() {
        var answer = confirm("Pretende Eliminar?")
        if (answer){
               
                alert("Bye bye!")
               
               
                window.location = "empresa/eliminar_foto.php?id=<?php echo "$id" ?>";
        }
        else{
                alert("Operação cancelada")
        }
}
//-->
</script>


alguem sabe como fazer?

#5 softklin

softklin

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3952 mensagens

Publicado 23 de Setembro de 2009 - 20:12

O que é que está a ser enviado para o browser nessa parte (o que aparece no código fonte)?

#6 jcfr

jcfr

    Boolean User

  • Membro
  • PipPipPip
  • 201 mensagens

Publicado 23 de Setembro de 2009 - 20:53

nao perceb o querias dizer, é assim eu, atraves do php, vou buscar algns valores a base de dados, um deles é o $cod

e queria que o script, quando me envia para outra página, enviasse essa variavel também por method get o post ou seja la como der pa fazer...isso é possivel? (enviar um valor que tenho em codigo php)

#7 scorch

scorch

    Unsigned User

  • Moderador
  • PipPipPipPipPipPip
  • 3320 mensagens

Publicado 23 de Setembro de 2009 - 20:58

Para enviares po PHP, se percebi a tua dúvida, basta fazeres, no URL:
Código :
nome_da_pagina.php?cod=232
O 234 é um exemplo, deves substituí-lo pelo valor da variável $cod.

Para acederes à variável basta:
Código (PHP):
<?php
echo $_GET["cod"];
?>


#8 jcfr

jcfr

    Boolean User

  • Membro
  • PipPipPip
  • 201 mensagens

Publicado 23 de Setembro de 2009 - 21:06

ou seja basta fazer:

Código (Javascript):
window.location = "empresa/eliminar_foto.php?id=<?php echo "$cod" ?>";
porque pelo menos no html para atribuir o valor de uma variavel php a uma variavel que quero enviar seria:
Código (HTML):
<a href="empresa/eliminar_foto.php?id=<?php echo "$cod" ?>">enviar variavel</a>

mas como tenho em cima (javascript) nao funciona.
tenho a variavel $cod em php na mesma página do script e quero que o script me envie para outra pagina mas que envie tambem a variavel
depois eu sei receber pelo menos se usar method post ou get....

alguem sabe como enviar a variavel atraves do script?

#9 scorch

scorch

    Unsigned User

  • Moderador
  • PipPipPipPipPipPip
  • 3320 mensagens

Publicado 23 de Setembro de 2009 - 21:09

Tenta antes:
Código (PHP):
window.location = "empresa/eliminar_foto.php?id=<?php echo ".$cod."; ?>";

Tens sempre de usar os pontos de concatenação. Ou então, sem as aspas:
Código (PHP):
window.location = "empresa/eliminar_foto.php?id=<?php echo $cod; ?>";


#10 jcfr

jcfr

    Boolean User

  • Membro
  • PipPipPip
  • 201 mensagens

Publicado 23 de Setembro de 2009 - 21:27

ok agora ja nao posso pk ja nao tenho o meu pc comigo mas amanha ja tento obrigado

#11 softklin

softklin

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3952 mensagens

Publicado 23 de Setembro de 2009 - 21:53

O que eu estava a dizer era para ir ao código fonte para saber se a variável $cod tinha algum conteúdo, e qual era o endereço para onde ira redireccionar.

Não creio que o problema seja das aspas, porque o código é interpretado pelo PHP e depois enviado como HTML, mas realmente elas não estão lá a fazer nada e são dispensáveis.

#12 jcfr

jcfr

    Boolean User

  • Membro
  • PipPipPip
  • 201 mensagens

Publicado 24 de Setembro de 2009 - 09:23

nao interessa se tem aspas ou não pois sempre que adiciono codigo php ao script ele já nao corre nem sequer aparece a janela com a opçao ok e cancel....

o script como tentei usar:
Código (Javascript):
<script type="text/javascript">
<!--
function confirmation() {
        var answer = confirm("Pretende Eliminar a viatura?")
        if (answer){
               
                alert("Bye bye!")
               
               
                window.location = "empresa/empresa_eliminar_viatura.php?cod=<?php echo .$cod. ?>";
        }
        else{
                alert("Operação cancelada")
        }
}
//-->
</script>
da erro

tentei tb enviar uma variavel para a função:
Código (HTML):
<form>
<input type="button" onclick="confirmation(<?php echo $cod ?>)" value="Eliminar viatura2" />
</form>

e no script teria:
Código (Javascript):
<script type="text/javascript">
<!--
function confirmation(id) {
        var answer = confirm("Pretende Eliminar a viatura?")
        if (answer){
               
                alert("Bye bye!")
               
               
                window.location = "empresa/empresa_eliminar_viatura.php?cod=id";
        }
        else{
                alert("Operação cancelada")
        }
}
//-->
</script>

este ultimo exemplo seria seguindo o principio de passagem de parametros para funções usado em C mas parece que nao funciona..

alguem tem uma ideia?

#13 jcfr

jcfr

    Boolean User

  • Membro
  • PipPipPip
  • 201 mensagens

Publicado 24 de Setembro de 2009 - 10:11

resolvi o problema de outra maneira mas surgiu outro problema:
resolvi assim:
na pagina a partir da qual envio a variavel tenho isto:


Código (HTML):
<form action="empresa/empresa_eliminar_viatura.php" method="post">
<input type="hidden" name="cod" id="cod" value="<?php echo "$cod" ?>">
<input type="submit" value="Eliminar viatura">
</form>

desta forma vou para a página pretendida com o valor da variavel, na página empresa_eliminar_viatura.php terei isto:

Código (PHP):
echo "<script language=\"javascript\">var answer = confirm('Pretende Eliminar a viatura?')
        if (answer){
                alert('Bye bye!')
                window.location = '../empresa_listar.php';
        }
        else{
                alert('Operação cancelada')
                window.location = '../empresa_listar.php';
        };
        </script>";
       
        $sql = mysql_query("DELETE FROM automoveis WHERE `codigo` ='$cod'") or die (mysql_error());
 

o script corre tal e qual como aqui esta, aparece a caixa a perguntar se realmente quero eliminar a viatura e de seguida se precionar ok elimina e se cancelar diz operaçao cancelada e envia-me para a pagina empresa_listar.php o problema é que se precionar cancelar alem de me enviar para a página elimina a viatura na mesma, ou seja corre o codigo que está fora do script e nao o devia fazer alguem me sabe dizer porque?

#14 softklin

softklin

    Unsigned User

  • Membro
  • PipPipPipPipPipPip
  • 3952 mensagens

Publicado 24 de Setembro de 2009 - 10:41

Vai eliminar o registo em ambos os casos porque é PHP, que corre do lado do servidor, independentemente do javascript que tenhas.

O que eu te estou a pedir é o código fonte gerado, para ver se é alguma coisa que atrofia o script. Para o fazer, basta pedires a página normalmente, e fazeres botão direito > ver código fonte, e coloca aqui a parte do script. Além disso, podes espreitar a consola de erros no Firefox.