GRY-Online.pl --> Archiwum Forum

Jak poprawic ten kod? JavaScript

25.02.2008
16:16
[1]

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:)



25.02.2008
16:19
[2]

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ę.

25.02.2008
16:19
[3]

Azzie [ bonobo ]

Nie, wyswietla kalendarz z opcja klikniecia wybranej daty

25.02.2008
16:33
[4]

Azzie [ bonobo ]

Up :)

25.02.2008
16:36
[5]

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:)

25.02.2008
16:59
[6]

Azzie [ bonobo ]

Wielkie dzieki ;) Myklo

© 2000-2025 GRY-OnLine S.A.