Ir para conteúdo

POWERED BY:

Arquivado

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

cassiane

Calendário

Recommended Posts

Eu queria saber porque ele não aparece o calendário no browser se está chamando a função

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body onLoad="relógio()">
<script = language="javascript" >
function calendar(){
hoje = new Date();
 dia = hoje.getDate();
 mes = hoje.getMonth();
 ano = hoje.getFullYear();
 nomemes = ["January","February","March","April","May","June","July","August",
"September","October","November","December"];
 inicio = new Date("1 "+nomemes[mes]+" "+ano);
 letrasSemana = ["S","M","T","W","T","F","S"]
 a = 0;
 bi = bissexto(ano) ? 29 : 28;
 diasmes = [31,bi,31,30,31,30,31,31,30,31,30,31];
 document.write("<table border="0" bgcolor="#FFFFCC" cellpadding="5"
cellspacing="0" width="170"><tr>");
 document.write("<td width="170" align="center" bgcolor="#FFFFFF"
colspan="7"><b>"+nomemes[mes]+" "+ano+"</b></td></tr><tr>")
 for(i=0; i<letrasSemana.length; i++){
 document.write("<td width="15" bgcolor="#CCCCCC"
align="center"><b>"+letrasSemana[i]+"</b></td>");
 }
 document.write("</tr><tr>");
 function bissexto(year) {
 if (year % 4 == 0) // regra básica
 return true // se o ano é bissexto
 /* else */ // neste caso o else não é necessario
 return false // se o ano não é bissexto
 }
 if (inicio.getDay() == 0) increase = 0; else increase = 1;
 for(i=1; a<diasmes[mes]; i++){
 if(i < inicio.getDay()+increase) document.write("<td width="15"
bgcolor="#FFFFCC" align="center"><img src="img/spacer.gif" width="1"
height="1"></td>");
 else {
 a++;
 if (a == dia) document.write("<td width="15" bgcolor="#CCCCCC"
align="center"><b>"+a+"</b></td>");
 else document.write("<td width="15" align="center">"+a+"</td>");
 }
 if(i % 7 == 0) document.write("</tr><tr>");
 }
 document.write("</tr></table>");
 }
 function relógio(){
atual = new Date();
 hora = atual.getHours();
 minuto = atual.getMinutes();
 segundo = atual.getSeconds();
 m = (minuto < 10) ? "0"+minuto : minuto;
 s = (segundo < 10) ? "0"+segundo : segundo;
 text = hora + ":" + m + ":" + s;
 document.forms[0].elements[0].value = text;
 setTimeout("relógio()",1000);
 }
</script> 
<H1>calendário</H1>
 <script language="javascript">
 calendar();
 </script>
 <br>
 <form>
 <b>relógio</b> » <input type="text" value="" class="center" size="11">
 </form>
</body>
</html>

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um dos problemas é estar esquecendo de escapar as aspas duplas:

 

 

 document.write("<table border="0" bgcolor="#FFFFCC" cellpadding="5"

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

arrumei as aspas coloquei simples...

mas ainda não aparece o calendário

na verdade acho que não está chamando a função direito

Compartilhar este post


Link para o post
Compartilhar em outros sites


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

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

<title>Untitled Document</title>

</head>

 

<body onLoad="relógio()">

<script language="javascript" type="text/javascript">

function calendar(){

hoje = new Date();

dia = hoje.getDate();

mes = hoje.getMonth();

ano = hoje.getFullYear();

nomemes = ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto",

"Setembro","Outubro","Novembro","Dezembro"];

inicio = new Date("1 "+nomemes[mes]+" "+ano);

letrasSemana = ["S","M","T","W","T","F","S"]

a = 0;

bi = bissexto(ano) ? 29 : 28;

diasmes = [31,bi,31,30,31,30,31,31,30,31,30,31];

document.write("<table border='0' bgcolor='#FFFFCC' cellpadding='5'

cellspacing='0' width='170'><tr>");

 

document.write("<td width='170' align='center' bgcolor='#FFFFFF'

colspan='7'><b>"+nomemes[mes]+" "+ano+"</b></td></tr><tr>")

for(i=0; i<letrasSemana.length; i++){

document.write("<td width='15' bgcolor='#CCCCCC'

align='center'><b>"+letrasSemana+"</b></td>");

}

document.write("</tr><tr>");

function bissexto(year) {

if (year % 4 == 0) // regra básica

return true // se o ano é bissexto

/* else */ // neste caso o else não é necessario

return false // se o ano não é bissexto

}

if (inicio.getDay() == 0) increase = 0; else increase = 1;

for(i=1; a<diasmes[mes]; i++){

if(i < inicio.getDay()+increase) document.write("<td width='15'

bgcolor='#FFFFCC' align='center'><img src='img/spacer.gif' width='1'

height='1'></td>");

else {

a++;

if (a == dia) document.write("<td width='15' bgcolor='#CCCCCC'

align='center'><b>"+a+"</b></td>");

else document.write("<td width='15' align='center'>"+a+"</td>");

}

if(i % 7 == 0) document.write("</tr><tr>");

}

document.write("</tr></table>");

}

function relógio(){

atual = new Date();

hora = atual.getHours();

minuto = atual.getMinutes();

segundo = atual.getSeconds();

m = (minuto < 10) ? "0"+minuto : minuto;

s = (segundo < 10) ? "0"+segundo : segundo;

text = hora + ":" + m + ":" + s;

document.forms[0].elements[0].value = text;

setTimeout("relógio()",1000);

}

</script>

 

<H1>calendário</H1>

<script language="javascript" type="text/javascript">

calendar();

</script>

<br>

<form>

<b>relógio</b> » <input type="text" value="" class="center" size="11">

</form>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui resolveu e - inclusive - ficou bom!

 

Experimente trocar

 

 



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

 

 

 

por

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Não sei se é do seu código original ou se foi o fórum que quebrou, mas coisas como

 

 


 document.write("<td width='170' align='center' bgcolor='#FFFFFF'
colspan='7'><b>"+nomemes[mes]+" "+ano+"</b></td></tr><tr>")

 

 

precisam ficar em uma linha só.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a única coisa que aconteceu foi que onde tinha acento no caso relógio no lugar do ó ficou um simbolo com ponto de interrogação



é algum problema de sintaxe que ele não está chamando a função

porque no js não tem nenhuma condição para aparecer

consegue ver se tem algum erro na sintaxe do chamamento ? é assim mesmo que chama uma função no html?



era no meu código mesmo mas já alterei .. e ainda não funciona estou procurando em outros foruns tambem e no google claro como chamar a função e tudo mais .... mas não to conseguindo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu disse, aqui funcionou corrigindo as quebras de linha e trocando o charset pra UTF-8.

 

Deixe como estava antes (em ISO-8859-1) e não acentue os métodos. Por exemplo, troque tudo que é [inline]relógio[/inline] por [inline]relogio[/inline]

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.