Jump to content
deathseeker25

[Resolvido] Alerta

Recommended Posts

deathseeker25

Boas,

Antes de começar a programar em PHP, rsolvi fazer uma pagina em JavaScript e meti as mãos á obra nem há meia-hora atrás.

Elaborei o seguinte script:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
color: #000000;
}
body {
background-color: #FFFFFF;
}
-->
</style></head>

<body>
<script>
var d=novaData()
var dia=d.getDay()
var definido()

function mostrar_alerta()
{
alert("Boas,<p>Hoje é"+definido+".Seja bem-vindo")
}
switch(dia)
{
case 1:
definido=="Domingo"
break
case 2:
definido=="Segunda-feira"
break
case 3:
definido=="Terça-Feira"
break
case 4:
definido=="Quarta-feira"
break
case 5:
definido=="Quinta-feira"
break
case 6:
definido=="Sexta-feira"
break
case 7:
definido=="Sábado"
break
default:
document.write("Impossivel determinar o dia!Erro no sistema!")
}

</script>

<input type="button" onclick="mostrar_alerta()" value="Clique para mostrar alerta!">
</body>
</html>

Aqui tem o codigo-fonte da pagina completa. O problema é que quando clico na caixa que crio no index da página nada acontece.Alguem me consegue explicar porque?

Cumps

Skin: Adicionei Geshi && mudei titulo

Share this post


Link to post
Share on other sites
Lancaster

Heyas all...

Bem vamos começar...tens aqui uma carrada de erros...

Vou citando o teu código, digo o que está errado, e ponho o meu código (penso que é o melhor...)

<script>
var d=novaData()
var dia=d.getDay()
var definido()

Primeiro...eu sei que não é necessário mas é sempre bom por na tag script qual é o script que estás a usar...

Segundo...a função novaData() não existe...o que tu querias era a new Date()

Terceiro...o defenido é uma variável e não uma função...logo não leva ()..

<script language="javascript" type="text/javascript" >
var d=new Date();
var dia=d.getDay();
var definido;

2º Parte:

case 1:
definido=="Domingo"
break
case 2:
definido=="Segunda-feira"
break
......

O == serve apenas para comparações, nunca para atribuições...ou seja fica algo do tipo:

case 1:
definido="Domingo"
break
case 2:
definido="Segunda-feira"
break;
....

3º e último:

function mostrar_alerta()
{
alert("Boas,<p>Hoje é"+definido+".Seja bem-vindo")
} 

Não podes passar tag's html por uma alert box..pelo menos que eu saiba...

Conselhos finais...

Aconselho-te a indentar o código...ou seja por tab's...para leitura fácil...é só para isso...e também a por ; no final de cada linha de código (só naquelas que podes é claro..) também para facilitar a leitura, visto que ele lê tudo da mesma maneira..

Já me esquecia...uma cena muito fixe que o FF tem é a "JavaScript Console" no menu tool's...diz-te tudo e mais alguma coisa sobre os erros e warnings que existam no javascript que a página usa...melhor debugger é impossivél..

Hasta all e espero ter ajudado [[]]

Skin: Adicionei Geshi


http://www.mundodotio.com/ Um mundo à parte...ou então não..http://programming.mundodotio.com/ A vida de um programador WEB

Share this post


Link to post
Share on other sites
deathseeker25

Boas Lancaster,

Desde já agradeço pela ajuda que me deste, visto que consegui por o script a funcionar correctamente.

Gostava agora de obter mais algumas informações:

1º-Como posso fazer com que logo que abra a página apareça a mensagem acerca de que dia é, sem termos de clicar em algum botão como está a acontecer?

2º É possivel, através de alguma função pre-definida no Javascript, obter o ip do utilizador que acede ao forum? (visto que consigo obter o browser, a versão, verificar se os cookies estão activados, etc)

Estas são as minhas duvidas do momento. Mais cedo ou mais tarde vou regressar com mais algumas.

Abraço e cumps

Share this post


Link to post
Share on other sites
Lancaster
Citação
Boas Lancaster,

Desde já agradeço pela ajuda que me deste, visto que consegui por o script a funcionar correctamente.

Gostava agora de obter mais algumas informações:

1º-Como posso fazer com que logo que abra a página apareça a mensagem acerca de que dia é, sem termos de clicar em algum botão como está a acontecer?

Isto é fácil, basta na tag body pores:

<body onLoad="mostrar_alerta();">
 

Btw...eu costumo por as funções de javascript entre a tag </head> e a tag <body> mais por uma questão de uma pessoa abrir o código, e ver logo que javascript é que existe..mas não é importante...questões de oraganização de código..

Citação

2º É possivel, através de alguma função pre-definida no Javascript, obter o ip do utilizador que acede ao forum? (visto que consigo obter o browser, a versão, verificar se os cookies estão activados, etc)

Claro que "dá"...o user tem é que ter o java virtual machine, ou o java da sun...mas isso praticamente toda a gente tem..


<script language="javascript" type="text/javascript">
var ip = new java.net.InetAddress.getLocalHost();
var ipStr = new java.lang.String(ip);
document.writeln(ipStr.substring(ipStr.indexOf("/")+1));
</script>
 

Tive agora a testar em localhost e em página web...e nenhum dos script's que arranjei dá...mas googla por aí que alguma hás-de encontrar que funcione..

http://pwp.netcabo.pt/lancaster/sd.html -> A página onde estive a testar os scripts do IP...

Hasta all..

Skin: Adicionei Geshi


http://www.mundodotio.com/ Um mundo à parte...ou então não..http://programming.mundodotio.com/ A vida de um programador WEB

Share this post


Link to post
Share on other sites
deathseeker25

Boas,

Não consegui resolver nenhum dos problemas:


<body onload="mostrar_alerta();">
<script language="javascript" type="text/javascript">
var d=new Date() ;     //variaveis do script dos dias//
var dia=d.getDay();
var definido;

function mostrar_alerta()
{
alert("Boas, Hoje é "+definido+".Seja bem-vindo"!)
}
switch(dia)
{
case 1:
definido="Domingo"
break;
case 2:
definido="Segunda-feira"
break;
case 3:
definido="Terça-Feira"
break;
case 4:
definido="Quarta-feira"
break;
case 5:
definido="Quinta-feira"
break;
case 6:
definido="Sexta-feira"
break;
case 7:
definido="Sábado"
break;
default:
document.write("Impossivel determinar o dia!Erro no sistema!")
}
</script>

Mesmo colocando o nome da função exactamente como colcaste em body onLoad nada acontecer quando abro a página.

Quanto ao script que lê o ip, depois de quase meia-hora de pesquisa, encontrei diversas opiniões em foruns que já não estão activos e encontrei tambem algumas dezenas de scripts diferentes.

O que é verdade é que os scripts não funcionam (pelo menos nos browsers actuais, visto que são já antigos os scripts) e as opiniões apontam todas para a utilização do PHP.

De qualquer forma, gostava de saber a tua opinião em relação a isto.

Quanto ao body onLoad, devo estar a fazer algo errado.

Cumps e obrigado desde já pela ajuda.

Skin: Adicionei Geshi

Share this post


Link to post
Share on other sites
Grettir

Heyas,

essa é uma das vantagens em colocares o codigo JavaScript nos headers. O que se passa é que quando o browser começa a carregar a pagina e despoleta o evento onLoad, ainda na apareceu o scritp de JS.

Experimenta colocar o codigo no header.

Fica bem


Ricardo Castelhano

-----------------------

FullStack Developer

Technical Manager

Trainer

Share this post


Link to post
Share on other sites
deathseeker25

Boas Grettir,

<head>
<title>Javascript</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
color: #000000;
}
body {
background-color: #FFFFFF;
}
-->
</style>

<script language="javascript" type="text/javascript">
var d=new Date() ;     //variaveis do script dos dias//
var dia=d.getDay();
var definido;

function mostrar_alerta()
{
alert("Boas, Hoje é "+definido+".Seja bem-vindo"!)
}
switch(dia)
{
case 1:
definido="Domingo"
break;
case 2:
definido="Segunda-feira"
break;
case 3:
definido="Terça-Feira"
break;
case 4:
definido="Quarta-feira"
break;
case 5:
definido="Quinta-feira"
break;
case 6:
definido="Sexta-feira"
break;
case 7:
definido="Sábado"
break;
default:
document.write("Impossivel determinar o dia!Erro no sistema!")
}
</script>

<script language="javascript" type="text/javascript">
document.write("<p>Browser:")
document.write(navigator.appName + "<p>")
document.write("<p>Versão do browser:")
document.write(navigator.appVersion + "<p>")
document.write("Plataforma:")
document.write(navigator.platform + "<p>")
document.write("Cookies activadas:")
document.write(navigator.cookieEnabled +"<p>")
document.write("Cabeçalho do browser:")
document.write(navigator.userAgent + "<p>")

</script>

</head>

Na verdade continua sem funcionar. Não sei se estou a fazer alguma coisa mal, mas não me parece.

Peço tambem desculpa pelo tamanh dos posts, mas é a unica forma de vos mostrar que não está a funcionar e que (não) estou a fazer nada mal.

Cumps

Skin: Adicionei Geshi

Share this post


Link to post
Share on other sites
Lancaster

Heyas all...

Experimenta por lá isto tudo no teu .html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body,td,th {
   font-family: Arial, Helvetica, sans-serif;
   font-size: 16px;
   color: #000000;
}
body {
   background-color: #FFFFFF;
}
-->
</style></head>

<body>
<script language="javascript" type="text/javascript" >
var d=new Date();
var dia=d.getDay();
var definido;

function mostrar_alerta()
{
alert("Boas,Hoje é "+definido+ ".Seja bem-vindo");
}

switch(dia)
{
case 1:
definido="Domingo"
break
case 2:
definido="Segunda-feira"
break;
case 3:
definido="Terça-Feira"
break
case 4:
definido="Quarta-feira"
break
case 5:
definido="Quinta-feira"
break
case 6:
definido="Sexta-feira"
break
case 7:
definido="Sábado"
break
default:
document.write("Impossivel determinar o dia!Erro no sistema!")
}

</script>
<script language="javascript" type="text/javascript">
document.write("<p>Browser:")
document.write(navigator.appName + "<p>")
document.write("<p>Versão do browser:")
document.write(navigator.appVersion + "<p>")
document.write("Plataforma:")
document.write(navigator.platform + "<p>")
document.write("Cookies activadas:")
document.write(navigator.cookieEnabled +"<p>")
document.write("Cabeçalho do browser:")
document.write(navigator.userAgent + "<p>")
</script> 

<body onLoad="mostrar_alerta();"> 
</html>

Substitui este código pelo código que tens no teu html...e vê o que dá...e vê tb a java script console no FF porque para ele não correr...alguma se está a passar...

Hasta all..

Skin: Adicionei Geshi


http://www.mundodotio.com/ Um mundo à parte...ou então não..http://programming.mundodotio.com/ A vida de um programador WEB

Share this post


Link to post
Share on other sites
deathseeker25

Lancaster o teu código funcionou....

Já agora, para determinar o ip do utilizador estou a pensar faze-lo através de PHP e não de Javascript, porque todas as formas em Javascript parecem não funcionar.

Se assim for, que funções do PHP devo utilizar?

Cumps

Share this post


Link to post
Share on other sites
completo77

Tudo o que é client-side é uma bosta!

A única coisa em que são bons é em não sobrecarregar os servidores!  :cheesygrin:


Alguem me explica para que é que serve a porra do XML ?

Share this post


Link to post
Share on other sites
Lancaster

Lancaster o teu código funcionou....

Já agora, para determinar o ip do utilizador estou a pensar faze-lo através de PHP e não de Javascript, porque todas as formas em Javascript parecem não funcionar.

Se assim for, que funções do PHP devo utilizar?

Cumps

Heyas all...

Humm...só agora é que vi este post...lol passado praticamente 6 meses.... de qq das maneiras se não encontras-te como mostrar o IP através de PHP usa isto:

    <?
    echo $_SERVER['REMOTE_ADDR'];
    ?>

Hasta all e sorry pela demora...lol... [[]]

Skin: Adicionei Geshi


http://www.mundodotio.com/ Um mundo à parte...ou então não..http://programming.mundodotio.com/ A vida de um programador WEB

Share this post


Link to post
Share on other sites
deathseeker25

Lancaster o teu código funcionou....

Já agora, para determinar o ip do utilizador estou a pensar faze-lo através de PHP e não de Javascript, porque todas as formas em Javascript parecem não funcionar.

Se assim for, que funções do PHP devo utilizar?

Cumps

Heyas all...

Humm...só agora é que vi este post...lol passado praticamente 6 meses.... de qq das maneiras se não encontras-te como mostrar o IP através de PHP usa isto:

    <?
    echo $_SERVER['REMOTE_ADDR'];
    ?>

Hasta all e sorry pela demora...lol... [[]]

Realmente, foi uma resposta demorada... :) No entanto agradeço, apesar de na altura ter conseguido o que pretendia... :)

Cumps

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.