Jessé Augusto Posted July 24, 2011 Report Share Posted July 24, 2011 Boa noite a todos!Estou desenvolvendo uma página e quero inserir no campo data, de um formulário, um calendário que permita ao usuário navegar entre diversas datas e escolher uma (data).Caso alguém tenha algum script que faça isso, estarei muito agradecido.Obrigado pela atenção. Quote Link to comment Share on other sites More sharing options...
0 Jessé Augusto Posted July 24, 2011 Author Report Share Posted July 24, 2011 Bom dia todos! Consegui encontrar na Net o script relacionado ao que precisava.Caso alguém tenha interesse, segue o código.<!-- insira o seguinte código de javascript em sua página. --> <script language='Javascript'> // construindo o calendário function popdate(obj,div,tam,ddd) { if (ddd) { day = "" mmonth = "" ano = "" c = 1 char = "" for (s=0;s<parseInt(ddd.length);s++) { char = ddd.substr(s,1) if (char == "/") { c++; s++; char = ddd.substr(s,1); } if (c==1) day += char if (c==2) mmonth += char if (c==3) ano += char } ddd = mmonth + "/" + day + "/" + ano } if(!ddd) {today = new Date()} else {today = new Date(ddd)} date_Form = eval (obj) if (date_Form.value == "") { date_Form = new Date()} else {date_Form = new Date(date_Form.value)} ano = today.getFullYear(); mmonth = today.getMonth (); day = today.toString ().substr (8,2) umonth = new Array ("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro") days_Feb = (!(ano % 4) ? 29 : 28) days = new Array (31, days_Feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) if ((mmonth < 0) || (mmonth > 11)) alert(mmonth) if ((mmonth - 1) == -1) {month_prior = 11; year_prior = ano - 1} else {month_prior = mmonth - 1; year_prior = ano} if ((mmonth + 1) == 12) {month_next = 0; year_next = ano + 1} else {month_next = mmonth + 1; year_next = ano} txt = "<table bgcolor='#efefff' style='border:solid #330099; border-width:2' cellspacing='0' cellpadding='3' border='0' width='"+tam+"' height='"+tam*1.1 +"'>" txt += "<tr bgcolor='#FFFFFF'><td colspan='7' align='center'><table border='0' cellpadding='0' width='100%' bgcolor='#FFFFFF'><tr>" txt += "<td width=20% align=center><a href=java script:popdate('"+obj+"','"+div+"','"+tam+"','"+((mmonth+1).toString() +"/01/"+(ano-1).toString())+"') class='Cabecalho_Calendario' title='Ano Anterior'><<</a></td>" txt += "<td width=20% align=center><a href=java script:popdate('"+obj+"','"+div+"','"+tam+"','"+( "01/" + (month_prior+1).toString() + "/" + year_prior.toString())+"') class='Cabecalho_Calendario' title='Mês Anterior'><</a></td>" txt += "<td width=20% align=center><a href=java script:popdate('"+obj+"','"+div+"','"+tam+"','"+( "01/" + (month_next+1).toString() + "/" + year_next.toString())+"') class='Cabecalho_Calendario' title='Próximo Mês'>></a></td>" txt += "<td width=20% align=center><a href=java script:popdate('"+obj+"','"+div+"','"+tam+"','"+((mmonth+1).toString() +"/01/"+(ano+1).toString())+"') class='Cabecalho_Calendario' title='Próximo Ano'>>></a></td>" txt += "<td width=20% align=right><a href=java script:force_close('"+div+"') class='Cabecalho_Calendario' title='Fechar Calendário'><b>X</b></a></td></tr></table></td></tr>" txt += "<tr><td colspan='7' align='right' bgcolor='#ccccff' class='mes'><a href=java script:pop_year('"+obj+"','"+div+"','"+tam+"','" + (mmonth+1) + "') class='mes'>" + ano.toString() + "</a>" txt += " <a href=java script:pop_month('"+obj+"','"+div+"','"+tam+"','" + ano + "') class='mes'>" + umonth[mmonth] + "</a> <div id='popd' style='position:absolute'></div></td></tr>" txt += "<tr bgcolor='#330099'><td width='14%' class='dia' align=center><b>Dom</b></td><td width='14%' class='dia' align=center><b>Seg</b></td><td width='14%' class='dia' align=center><b>Ter</b></td><td width='14%' class='dia' align=center><b>Qua</b></td><td width='14%' class='dia' align=center><b>Qui</b></td><td width='14%' class='dia' align=center><b>Sex<b></td><td width='14%' class='dia' align=center><b>Sab</b></td></tr>" today1 = new Date((mmonth+1).toString() +"/01/"+ano.toString()); diainicio = today1.getDay () + 1; week = d = 1 start = false; for (n=1;n<= 42;n++) { if (week == 1) txt += "<tr bgcolor='#efefff' align=center>" if (week==diainicio) {start = true} if (d > days[mmonth]) {start=false} if (start) { dat = new Date((mmonth+1).toString() + "/" + d + "/" + ano.toString()) day_dat = dat.toString().substr(0,10) day_today = date_Form.toString().substr(0,10) year_dat = dat.getFullYear () year_today = date_Form.getFullYear () colorcell = ((day_dat == day_today) && (year_dat == year_today) ? " bgcolor='#FFCC00' " : "" ) txt += "<td"+colorcell+" align=center><a href=java script:block('"+ d + "/" + (mmonth+1).toString() + "/" + ano.toString() +"','"+ obj +"','" + div +"') class='data'>"+ d.toString() + "</a></td>" d ++ } else { txt += "<td class='data' align=center> </td>" } week ++ if (week == 8) { week = 1; txt += "</tr>"} } txt += "</table>" div2 = eval (div) div2.innerHTML = txt } // função para exibir a janela com os meses function pop_month(obj, div, tam, ano) { txt = "<table bgcolor='#CCCCFF' border='0' width=80>" for (n = 0; n < 12; n++) { txt += "<tr><td align=center><a href=java script:popdate('"+obj+"','"+div+"','"+tam+"','"+("01/" + (n+1).toString() + "/" + ano.toString())+"')>" + umonth[n] +"</a></td></tr>" } txt += "</table>" popd.innerHTML = txt } // função para exibir a janela com os anos function pop_year(obj, div, tam, umonth) { txt = "<table bgcolor='#CCCCFF' border='0' width=160>" l = 1 for (n=1991; n<2012; n++) { if (l == 1) txt += "<tr>" txt += "<td align=center><a href=java script:popdate('"+obj+"','"+div+"','"+tam+"','"+(umonth.toString () +"/01/" + n) +"')>" + n + "</a></td>" l++ if (l == 4) {txt += "</tr>"; l = 1 } } txt += "</tr></table>" popd.innerHTML = txt } // função para fechar o calendário function force_close(div) { div2 = eval (div); div2.innerHTML = ''} // função para fechar o calendário e setar a data no campo de data associado function block(data, obj, div) { force_close (div) obj2 = eval(obj) obj2.value = data } </script> <!-- o css abaixo é apenas para dar uma aparência melhor para o calendário. você pode mudá-lo a sua maneira insira o código abaixo entre as tags <HEAD> </HEAD> de sua página --> <style> .dia {font-family: helvetica, arial; font-size: 8pt; color: #FFFFFF} .data {font-family: helvetica, arial; font-size: 8pt; text-decoration:none; color:#191970} .mes {font-family: helvetica, arial; font-size: 8pt} .Cabecalho_Calendario {font-family: helvetica, arial; font-size: 10pt; color: #000000; text-decoration:none; font-weight:bold} </style> <!-- insira o código abaixo dentro das tags <BODY> </BODY> de sua página --> <form name='form1'> <!-- data 1 --> <input NAME="data1" type="text" SIZE="10" MAXLENGTH="10" readonly="readonly"> <input TYPE="button" NAME="btnData1" VALUE="..." Onclick="java script:popdate('document.form1.data1','pop1','150',document.form1.data1.value)"> <!-- na span abaixo aparece o primeiro calendario. você pode colocar a span abaixo no lugar onde quiser em sua pagina inclusive dentro de uma table para facilitar o posicionamento. Mas lembre-se que quanto mais perto a span estiver do campo de data a ela associada mais fácil será para o usuario associar. --> <span id="pop1" style="position:absolute"></span> <br><br> <!-- data 2 --> <input NAME="data2" type="text" SIZE="10" MAXLENGTH="10" readonly="readonly"> <input TYPE="button" NAME="btnData2" VALUE="..." Onclick="java script:popdate('document.form1.data2','pop2','150',document.form1.data2.value)"> <!-- na span abaixo aparece o segundo calendario --> <span id="pop2" style="position:absolute"></span> <!-- caso queira inserir outros campos de data em sua página certifique-se de substituir corretamente os nomes dos objetos em javascript. EX: o objeto input text será o data3 - ou como você quiser o objeto button será o btnData3 - ou como você quiser nas chamadas das funçoes no evento onClick os nomes deverão referenciar seus respectivos objetos. --> </form> Quote Link to comment Share on other sites More sharing options...
Question
Jessé Augusto
Boa noite a todos!
Estou desenvolvendo uma página e quero inserir no campo data, de um formulário, um calendário que permita ao usuário
navegar entre diversas datas e escolher uma (data).
Caso alguém tenha algum script que faça isso, estarei muito agradecido.
Obrigado pela atenção.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.