Azzie [ bonobo ]
Jak poprawic ten kod? JavaScript
Mam taki oto kod:
<script type="text/javascript">
//Written by Bogdan Blaszczak/BlaTek
//[email protected]
function Calendar(E,T)‹
if(!document.getElementById||!document.body.appendChild)return
var i,j,tBody,Row,od,Do,d,dt
function cEl(t,p,h,w)‹
p.appendChild(t=document.createElement(t))
if(h)t.innerHTML=h;if(w)t.style.width='27px'
return t›
function cB(x)‹with(cld_BlaTek)‹
B=0;x==0?R--:x==1?R++:x==2?(!M?(M=11,R--):M--):(M==11?(M=0,R++):M++)›
›
with(cld_BlaTek)‹
od=Date.UTC(R,M,1);Do=Date.UTC(R,M+1,1)›
E=document.getElementById(E)
while(E.childNodes.length)E.removeChild(E.firstChild)
tBody=cEl('tbody',cEl('table',E))
tBody.onmouseup=function()‹T.focus()›
tBody.onmousemove=function()‹
if(window.getSelection)window.getSelection().removeAllRanges()›
Row=cEl('tr',tBody)
cEl('td',Row,'«',1).onmousedown=function()‹cB(0)›
cEl('th',Row,cld_BlaTek.R)
cEl('td',Row,'»',1).onmousedown=function()‹cB(1)›
Row=cEl('tr',tBody)
cEl('td',Row,'«',1).onmousedown=function()‹cB(2)›
cEl('th',Row,cld_BlaTek.month[cld_BlaTek.M])
cEl('td',Row,'»',1).onmousedown=function()‹cB(3)›
tBody=cEl('tbody',cEl('table',E))
Row=cEl('tr',tBody)
for(i=0;i<7;i++)
with(cEl('th',Row,cld_BlaTek.day))
if(i==6)style.backgroundColor='#f88'
for(i=od;i<Do;i+=86400000)‹
with(new Date(i))‹d=getUTCDate();dt=getUTCDay()›
if(dt==1||i==od)Row=cEl('tr',tBody)
if(dt!=1&&d==1)for(j=1;j<(dt?dt:7);j++)cEl('th',Row)
dt=cEl('td',Row,d);dt.onmousedown=function(x)‹
x=+this.innerHTML
with(cld_BlaTek)
T.value=(x<10?'0'+x:x)+'/'+((x=M+1)<10?'0'+x:x)+'/'+R
›
with(cld_BlaTek)
if(d==D.getDate()&&M==D.getMonth()&&R==D.getFullYear())
dt.style.backgroundColor='#fff'
›
T.onblur=function()‹if(cld_BlaTek.B)E.style.display='none'›
cld_BlaTek.B=1;E.style.display='block'
›
//global object (You can translate month&day names)
cld_BlaTek=‹
day:['pn','wt','śr','cz','pt','so','n'],
month:['styczeń','luty','marzec','kwiecień','maj','czerwiec',
'lipiec','sierpień','wrzesień','październik','listopad','grudzień'],
D:new Date(),M:new Date().getMonth(),R:new Date().getFullYear()
›
</script>
Kalendarzyk ktory wstawia mi do formularza wybrana date.
Niestety data jest w formacie DD/MM/RRRR, a musze miec RRRR-MM-DD
Zlokalizowalem juz miejsce gdzie musze zmienic:
T.value=(x<10?'0'+x:x)+'/'+((x=M+1)<10?'0'+x:x)+'/'+R
zmienilem na:
T.value=R+'-'+((x=M+1)<10?'0'+x:x)+'-'+(x<10?'0'+x:x)
Ale data wychodzi mi teraz RRRR-MM-MM :)
Noga jestem z JS, prosze niech mi ktos pomoze:)
maviozo [ Man with a movie camera ]
Czemu ten skrypt jest taki długi? Całość ma tylko wyświetlać tylko aktualną datę?....
No dobra, doczytałem co jeszcze to robi.
Daj mi chwilę.
Azzie [ bonobo ]
Nie, wyswietla kalendarz z opcja klikniecia wybranej daty
Azzie [ bonobo ]
Up :)
maviozo [ Man with a movie camera ]
Na szybko nic innego nie wydedukuję.
x=+this.innerHTML
with(cld_BlaTek)‹
D2=(x<10?'0'+x:x);M2=((x=M+1)<10?'0'+x:x)
T.value=R+"-"+M2+'-'+D2
›
with(cld_BlaTek)
if(d==D.getDate()&&M==D.getMonth()&&R==D.getFullYear())
I zamień te nawiasy < > na klamrowe. GOL tak ma, że je zamienia. Zamieniasz to co jest pogrubione. Pochylone masz tylko orientacyjnie, żebyś wiedział gdzie co się pozmieniało:)
Azzie [ bonobo ]
Wielkie dzieki ;) Myklo